Artikel ini terutama memperkenalkan metode simulasi permintaan POST ASP untuk mengirimkan data secara asinkron. Artikel ini menggunakan MSXML2.SERVERXMLHTTP.3.0 untuk mengimplementasikan permintaan POST
Kadang-kadang diperlukan untuk mendapatkan informasi tertentu dari situs web jarak jauh, dan server membatasi metode GET dan hanya dapat mengirimkannya melalui data POST. Saat ini, kita dapat mensimulasikan pengiriman data posting melalui asp . Berikut ini adalah fungsi yang relatif ringkas dan mudah dipahami yang saya tulis sendiri.
Pertama-tama, diperlukan fungsi untuk pengaturan pengkodean, karena asp umumnya gbk, dan sebagian besar situs web standar sekarang menggunakan utf-8. Jadi konversi diperlukan.
Copy kode kodenya sebagai berikut:
fungsi BytesToBstr(tubuh,Cset)
objekstream redup
setel objstream = Server.CreateObject("adodb.stream")
objstream.Jenis = 1
objstream.Mode =3
objstream.Buka
objstream.Tulis isi
objstream.Posisi = 0
objstream.Jenis = 2
objstream.Charset = Cset
BytesToBstr = objstream.ReadText
objstream.Tutup
setel objstream = tidak ada
Fungsi akhir
Langkah kedua adalah menggunakan komponen untuk mengirimkan data postingan. Saya menggunakan MSXML2.SERVERXMLHTTP.3.0 di sini. Tentu saja yang lain juga bisa digunakan.
Copy kode kodenya sebagai berikut:
fungsi PostHTTPHalaman(url,data)
redupHttp
setel Http=server.createobject("MSXML2.SERVERXMLHTTP.3.0")
Http.buka "POST", url, salah
Http.setRequestHeader "JENIS KONTEN", "aplikasi/x-www-form-urlencoded"
Http.kirim(data)
jika Http.readystate<>4 lalu
fungsi keluar
Berakhir jika
PostHTTPPage=bytesToBSTR(Http.responseBody,"utf-8")
atur http=tidak ada
jika err.number<>0 maka err.Clear
Fungsi akhir
Begini cara kerjanya:
Copy kode kodenya sebagai berikut:
PostHTTPHalaman("www.vevb.com","str1=a&str2=b&str3=c")