Verwenden Sie WinHttpRequest, um HTTP-Header-Informationen, Referrer-Informationen und andere Informationen zu fälschen. Da Microsoft das XmlHttp-Objekt blockiert hat, können einige HTTP-Header-Informationen nicht gefälscht werden, aber das WinHttp.WinHttpRequest.5.1-Objekt kann tatsächlich die Header-Informationen aller HTTP-Anfragen erfolgreich fälschen!
Wir haben von msdn erfahren, dass WinHttp.WinHttpRequest.5.1 das zugrunde liegende Objekt von msxml 4.0 ist, was bedeutet, dass XMLHTTP/ServerXMLHTTP ebenfalls auf seiner Basis gekapselt ist. Die Verwendung von WinHttpRequest ist ungefähr die gleiche wie die von XmlHttp.
WaitForResponse Wenn Sie eine Anfrage asynchron senden, können Sie diese Methode verwenden, um den Prozess der Anfrage zu steuern. Die angegebene Wartezeit in Sekunden ist der Wert, der von einer asynchronen Übertragungsmethode, SetTimeouts, abgeschlossen werden soll.
In serverseitigen Skripten können Sie Rückruffunktionen nicht direkt verwenden, um asynchrone Anforderungen zu steuern, wie dies beim Client der Fall ist, und es gibt keine entsprechende Funktion, um das Programm für einen bestimmten Zeitraum in den Ruhezustand zu versetzen, um auf die Anforderung zu warten Rückkehr, wir können diese Methode verwenden, um eine bestimmte Zeit zu warten.
Kopieren Sie den Codecode wie folgt:
<%
DimWinHttp
Setze WinHttp = Server.CreateObject(WinHttp.WinHttpRequest.5.1)
'Parameter einstellen
WinHttp.SetTimeouts 60000, 60000, 60000, 3000 'Vorgangszeitlimit festlegen
'WinHttp.SetTimeouts discoverTimeout, connectTimeout, sendTimeout,empfangenTimeout
'resolveTimeout = 10000 'Timeout für die Auflösung von DNS-Namen, 10000 Millisekunden.
'connectTimeout = 10000 'Timeout für den Aufbau einer Winsock-Verbindung, 10000 Millisekunden.
'sendTimeout = 120000 'Timeout für das Senden von Daten, 120000 Millisekunden.
'receiveTimeout = 60000 'Timeout für den Empfang einer Antwort, 60000 Millisekunden.
WinHttp.Option(4) = 13056 'Fehlerflag ignorieren
WinHttp.Option(6) = False 'Wenn es True ist, springt es automatisch, wenn die angeforderte Seite umgeleitet wird. False springt nicht automatisch und fängt den vom Server zurückgegebenen 302-Status ab.
WinHttp.Open GET, http://www.baidu.com/, False 'GET oder POST, URL, False synchroner Modus; True asynchroner Modus
'Erstellen Sie HTTP-Header-Informationen
WinHttp.SetRequestHeader Accept, */* 'Datentyp akzeptieren
WinHttp.SetRequestHeader Accept-Language, zh-cn,zh 'Benutzersystemsprache
WinHttp.SetRequestHeader User-Agent, Mozilla/6.0 'Benutzerbrowserinformationen
WinHttp.SetRequestHeader Content-Type, application/x-www-form-urlencoded 'Kodierungsmethode
WinHttp.SetRequestHeader Referer, http://www.baidu.com/ 'Quelle
WinHttp.SetRequestHeader Connection, Close 'Close = Verbindung nicht aufrechterhalten, Keep-Alive = Verbindung beibehalten (persistente Verbindung)
'WinHttp.SetRequestHeader Accept-Encoding, gzip, deflate 'Wenn gesendet, wird die komprimierte Codierung gzip, deflate zurückgegeben
'WinHttp.SetRequestHeader Content-Length, Len(Str) 'Inhaltslänge, wird in der Post-Methode verwendet.
WinHttp.SetRequestHeader Cookie, Cookie testen!
'Daten senden
WinHttp.Send 'Post-Methode: WinHttp.Send (Parameter)
WinHttp.WaitForResponse 'Warten auf Rückgabeanforderung, kann auch in XMLHTTP verwendet werden
'Ergebnisse ausgeben
Response.Write WinHttp.Status 'Aktueller HTTP-Status
'Response.Write WinHttp.ResponseText 'Textdaten
Response.BinaryWrite WinHttp.ResponseBody 'Binäre Datenstromdaten
%>
Option() bezogen auf:
WinHttpRequestOption_UserAgentString = 0;
WinHttpRequestOption_URL = 1;
WinHttpRequestOption_URLCodePage = 2;
WinHttpRequestOption_EscapePercentInURL = 3;
WinHttpRequestOption_SslErrorIgnoreFlags = 4;
WinHttpRequestOption_SelectCertificate = 5; '13056 = Fehlerflags ignorieren
WinHttpRequestOption_EnableRedirects = 6; 'Wenn True, wenn es einen Sprung auf der angeforderten Seite gibt, wird die Sprungseiteninformation nicht erfasst, im Gegenteil.
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;
Methodenbeschreibung
Abort bricht eine WinHTTP-Sendemethode ab.
GetAllResponseHeaders ruft alle HTTP-Antwortheader ab.
GetResponseHeader ruft HTTP-Antwortheader ab.
Öffnen Öffnet eine HTTP-Verbindung zu einer HTTP-Ressource.
Senden sendet eine HTTP-Anfrage an den HTTP-Server.
SetAutoLogonPolicy legt die aktuelle automatische Anmelderichtlinie fest.
SetClientCertificate Wählt ein Client-Zertifikat aus, das an einen HTTPS-Server (Hypertext Transfer Protocol Secure) gesendet werden soll.
SetCredentials Legt die Anmeldeinformationen fest, die mit dem HTTP-Server verwendet werden sollen, entweder dem Ursprungs- oder dem Proxyserver.
SetProxy legt Proxyserverinformationen fest.
SetRequestHeader Fügt einen HTTP-Anfrageheader hinzu, ändert oder entfernt ihn.
SetTimeouts gibt in Millisekunden die einzelne verstrichene Zeit für den Sende-/Empfangsvorgang einer Komponente an.
WaitForResponse Gibt die Wartezeit in Sekunden an, die eine asynchrone Übertragungsmethode benötigt, um einen Wert abzuschließen, SetTimeouts.
Das WinHttpRequest-Objekt definiert die folgenden Eigenschaften.
Beschreibung des Eigenschaftszugriffstyps
Option Lesen/Schreiben legt einen WinHTTP-Optionswert fest oder ruft ihn ab.
ResponseBody Schreibgeschützt Ruft den Antwortkörper als vorzeichenloses Byte-Array ab.
ResponseStream schreibgeschützt Rufen Sie den IStream als Antwortentität ab.
ResponseText Schreibgeschützt, da der Text aus dem Antwort-Entitätskörper abgerufen wird.
Status schreibgeschützter HTTP-Statuscode vom letzten Abruf der Antwort.
StatusText schreibgeschützt ruft den Text des HTTP-Status ab.
Veranstaltungen
Das WinHttpRequest-Objekt definiert die folgenden Ereignisse.
Die folgenden Ereignisse werden durch das WinHttpRequest-Objekt definiert.
Ereignis Beschreibung des Ereignisses
OnError Tritt auf, wenn in der Anwendung ein Laufzeitfehler auftritt.
Tritt auf, wenn ein Laufzeitfehler der Anwendung auftritt.
OnResponseDataAvailable Tritt auf, wenn Daten aus der Antwort verfügbar sind.
Tritt auf, wenn Antwortdaten verfügbar sind.
OnResponseFinished Tritt auf, wenn die Antwortdaten vollständig sind.
Tritt auf, wenn die Antwortdaten vollständig sind.
OnResponseStart Tritt auf, wenn der Empfang der Antwortdaten beginnt.
Tritt auf, wenn der Empfang von Antwortdaten beginnt.
Bemerkungen
Das WinHttpRequest-Objekt verwendet die IErrorInfo-Schnittstelle, um Fehlerdaten bereitzustellen.
Das WinHttpRequest-Objekt verwendet die IErrorInfo-Schnittstelle, um Fehlerdaten bereitzustellen.
Eine Beschreibung und ein numerischer Fehlerwert können mit dem Err-Objekt in Microsoft Visual Basic Scripting Edition (VBScript) abgerufen werden.
und das Error-Objekt in Microsoft JScript.
Die unteren 16 Bits einer Fehlernummer entsprechen den in Fehlermeldungen gefundenen Werten.
Hinweis Für Windows XP und Windows 2000 siehe Laufzeitanforderungen.
Hinweis: Für Windows XP und Windows 2000 siehe Laufzeitanforderungen.
Anforderungen
Mindestens unterstützte Clients: Windows XP, Windows 2000 Professional mit SP3, Windows XP
Mindestens unterstützter Server: Windows Server 2003, Windows 2000 Server mit SP3
Weitervertreibbar für WinHTTP 5.0 und Internet Explorer 5.01 oder höher unter Windows XP und Windows 2000.
WinHTTP 5.0 und Internet Explorer 5.01 oder höher für Windows XP und Windows 2000.
IDL HttpRequest.idl HttpRequest.idl
Bibliothek Winhttp.lib Winhttp.lib
DLL Winhttp.dll Winhttp.dll