Gunakan WinHttpRequest untuk memalsukan informasi header HTTP, memalsukan Referer, dan informasi lainnya. Karena Microsoft telah memblokir objek XmlHttp, beberapa informasi header HTTP tidak dapat dipalsukan, tetapi objek WinHttp.WinHttpRequest.5.1 sebenarnya berhasil memalsukan informasi header dari semua permintaan http!
Kami belajar dari msdn bahwa WinHttp.WinHttpRequest.5.1 adalah objek dasar msxml 4.0, yang berarti XMLHTTP/ServerXMLHTTP juga dienkapsulasi berdasarkan itu. Penggunaan WinHttpRequest kira-kira sama dengan XmlHttp.
WaitForResponse Saat mengirim permintaan secara asinkron, Anda dapat menggunakan metode ini untuk mengontrol proses permintaan. Waktu tunggu yang ditentukan, dalam hitungan detik, adalah nilai yang harus diselesaikan oleh metode transmisi asinkron, SetTimeouts.
Dalam skrip sisi server, Anda tidak dapat secara langsung menggunakan fungsi panggilan balik untuk mengontrol permintaan asinkron seperti yang dilakukan klien, dan tidak ada fungsi yang sesuai untuk menggunakan program untuk tidur selama jangka waktu tertentu, untuk menunggu permintaan tersebut kembali, kita bisa menggunakan cara ini untuk menunggu dalam jangka waktu tertentu.
Copy kode kodenya sebagai berikut:
<%
RedupWinHttp
Setel WinHttp = Server.CreateObject(WinHttp.WinHttpRequest.5.1)
'Tetapkan parameter
WinHttp.SetTimeouts 60000, 60000, 60000, 3000 'Atur batas waktu operasi
'WinHttp.SetTimeouts resolusiTimeout, connectTimeout, sendTimeout, receiverTimeout
'resolveTimeout = 10000 'Batas waktu untuk menyelesaikan nama DNS, 10.000 milidetik.
'connectTimeout = 10000 'Batas waktu untuk membuat koneksi Winsock, 10.000 milidetik.
'sendTimeout = 120000 'Batas waktu pengiriman data, 120000 milidetik.
'receiveTimeout = 60000 'Batas waktu untuk menerima respons, 60000 milidetik.
WinHttp.Option(4) = 13056 'Abaikan tanda kesalahan
WinHttp.Option(6) = False 'Jika Benar, maka secara otomatis akan melompat ketika halaman yang diminta dialihkan. False tidak akan secara otomatis melompat dan mencegat status 302 yang dikembalikan oleh server.
WinHttp.Open GET, http://www.baidu.com/, False 'GET atau POST, Url, Mode sinkron palsu;
'Tulis informasi header HTTP
WinHttp.SetRequestHeader Terima, */* 'Terima tipe data
WinHttp.SetRequestHeader Accept-Language, zh-cn,zh 'Bahasa sistem pengguna
Agen Pengguna WinHttp.SetRequestHeader, Mozilla/6.0 'Informasi browser pengguna
WinHttp.SetRequestHeader Tipe Konten, application/x-www-form-urlencoded 'Metode pengkodean
Referensi WinHttp.SetRequestHeader, http://www.baidu.com/ 'Sumber
Koneksi WinHttp.SetRequestHeader, Close 'Close = jangan simpan koneksi, Keep-Alive = pertahankan koneksi (koneksi persisten)
'WinHttp.SetRequestHeader Accept-Encoding, gzip, deflate 'Jika dikirim, gzip, deflate pengkodean terkompresi akan dikembalikan
'WinHttp.SetRequestHeader Content-Length, Len(Str) 'Panjang konten, digunakan dalam metode Post.
Cookie WinHttp.SetRequestHeader, uji cookie! 'Setel Cookie
'Kirim datanya
WinHttp.Send 'Metode posting: WinHttp.Send (parameter)
WinHttp.WaitForResponse 'Tunggu permintaan pengembalian, juga dapat digunakan dalam XMLHTTP
'Hasil keluaran
Response.Write WinHttp.Status 'Status HTTP saat ini
'Response.Write WinHttp.ResponseText 'Data teks
Response.BinaryWrite WinHttp.ResponseBody 'Data aliran data biner
%>
Opsi() terkait:
WinHttpRequestOption_UserAgentString = 0;
WinHttpRequestOption_URL = 1;
WinHttpRequestOption_URLCodePage = 2;
WinHttpRequestOption_EscapePercentInURL = 3;
WinHttpRequestOption_SslErrorIgnoreFlags = 4;
WinHttpRequestOption_SelectCertificate = 5; '13056 = Abaikan tanda kesalahan
WinHttpRequestOption_EnableRedirects = 6; 'Bila Benar, ketika ada lompatan pada halaman yang diminta, ambil informasi halaman lompatan. False tidak akan mengambilnya sebaliknya.
WinHttpRequestOption_UrlEscapeDisable = 7;
WinHttpRequestOption_UrlEscapeDisableQuery = 8;
WinHttpRequestOption_SecureProtocols = 9;
WinHttpRequestOption_EnableTracing = 10;
WinHttpRequestOption_RevertImpersonationOverSsl = 11;
WinHttpRequestOption_EnableHttpsToHttpRedirects = 12;
WinHttpRequestOption_EnablePassportAuthentication = 13;
WinHttpRequestOption_MaxAutomaticRedirects = 14;
WinHttpRequestOption_MaxResponseHeaderSize = 15;
WinHttpRequestOption_MaxResponseDrainSize = 16;
WinHttpRequestOption_EnableHttp1_1 = 17;
WinHttpRequestOption_EnableCertificateRevocationCheck = 18;
Deskripsi Metode
Batalkan membatalkan metode pengiriman WinHTTP.
GetAllResponseHeaders mengambil semua header respons HTTP.
GetResponseHeader mengambil header respons HTTP.
Buka Membuka koneksi HTTP ke sumber daya HTTP.
Kirim mengirimkan permintaan HTTP ke server HTTP.
SetAutoLogonPolicy menetapkan kebijakan login otomatis saat ini.
SetClientCertificate Memilih sertifikat klien untuk dikirim ke server Hypertext Transfer Protocol Secure (HTTPS).
SetCredentials Mengatur kredensial yang akan digunakan dengan server HTTP, baik server asal atau proxy.
SetProxy mengatur informasi server proxy.
SetRequestHeader Menambah, mengubah atau menghapus header permintaan HTTP.
SetTimeouts menentukan, dalam milidetik, waktu yang berlalu untuk operasi pengiriman/penerimaan komponen.
WaitForResponse Menentukan waktu tunggu, dalam hitungan detik, untuk metode transfer asinkron untuk menyelesaikan suatu nilai, SetTimeouts.
Objek WinHttpRequest mendefinisikan properti berikut.
Deskripsi jenis akses properti
Opsi Baca/tulis menyetel atau mengambil nilai opsi WinHTTP.
ResponseBody Read-only Mengambil badan entitas respons sebagai array byte yang tidak ditandatangani.
ResponseStream read-only Ambil IStream sebagai entitas respons.
ResponseText Baca hanya sebagai teks yang diambil dari badan entitas respons.
Kode status HTTP hanya baca status dari terakhir kali respons diambil.
StatusText read-only mendapatkan teks status HTTP.
Acara
Objek WinHttpRequest mendefinisikan kejadian berikut.
Peristiwa berikut ditentukan oleh objek WinHttpRequest.
Deskripsi Acara Acara
OnError Terjadi ketika ada kesalahan run-time pada aplikasi.
Terjadi ketika terjadi kesalahan runtime aplikasi.
OnResponseDataAvailable Terjadi ketika data tersedia dari respons.
Terjadi ketika data respons tersedia.
OnResponseFinished Terjadi ketika data respons sudah lengkap.
Terjadi ketika data respons sudah lengkap.
OnResponseStart Terjadi ketika data respons mulai diterima.
Terjadi ketika data respons mulai diterima.
Perkataan
Objek WinHttpRequest menggunakan antarmuka IErrorInfo untuk menyediakan data kesalahan.
Objek WinHttpRequest menggunakan antarmuka IErrorInfo untuk menyediakan data kesalahan.
Deskripsi dan nilai kesalahan numerik dapat diperoleh dengan objek Err di Microsoft Visual Basic Scripting Edition (VBScript),
dan objek Error di Microsoft JScript.
16 bit terbawah dari nomor kesalahan sesuai dengan nilai yang ditemukan di Pesan Kesalahan.
Catatan Untuk Windows XP dan Windows 2000, lihat Persyaratan Run-Time.
Catatan: Untuk Windows XP dan Windows 2000, lihat Persyaratan Runtime.
Persyaratan
Klien minimum yang didukung Windows XP, Windows 2000 Professional dengan SP3 Windows XP
Server minimum yang didukung Windows Server 2003, Windows 2000 Server dengan SP3
Dapat didistribusikan ulang untuk WinHTTP 5.0 dan Internet Explorer 5.01 atau lebih baru pada Windows XP dan Windows 2000.
WinHTTP 5.0 dan Internet Explorer 5.01 atau lebih tinggi untuk Windows XP dan Windows 2000.
IDL HttpRequest.idl HttpRequest.idl
Perpustakaan Winhttp.lib Winhttp.lib
DLL Menanghttp.dll Menanghttp.dll