In diesem Artikel wird hauptsächlich die Methode zur Simulation einer POST-Anfrage durch ASP zum asynchronen Senden von Daten vorgestellt. In diesem Artikel wird MSXML2.SERVERXMLHTTP.3.0 zum Implementieren einer POST-Anfrage verwendet
Manchmal ist es notwendig, bestimmte Informationen von einer Remote-Website abzurufen, und der Server schränkt die GET-Methode ein und kann sie nur über POST-Daten senden. Es gibt viele solcher Beispiele im Internet . Das Folgende ist eine relativ prägnante und leicht verständliche Funktion, die ich selbst geschrieben habe.
Zunächst ist eine Funktion zum Einstellen der Kodierung erforderlich, da ASP im Allgemeinen GBK ist und die meisten Standardwebsites jetzt UTF-8 verwenden. Es ist also eine Umstellung erforderlich.
Kopieren Sie den Codecode wie folgt:
Funktion BytesToBstr(body,Cset)
dim objstream
set objstream = Server.CreateObject("adodb.stream")
objstream.Type = 1
objstream.Mode =3
objstream.Öffnen
objstream.Text schreiben
objstream.Position = 0
objstream.Type = 2
objstream.Charset = Cset
BytesToBstr = objstream.ReadText
objstream.Schließen
set objstream = nichts
Funktion beenden
Der zweite Schritt besteht darin, Komponenten zum Übermitteln von Beitragsdaten zu verwenden. Ich habe hier MSXML2.SERVERXMLHTTP.3.0 verwendet. Natürlich können auch andere verwendet werden.
Kopieren Sie den Codecode wie folgt:
Funktion PostHTTPPage(url,data)
dimHttp
set Http=server.createobject("MSXML2.SERVERXMLHTTP.3.0")
Http.open „POST“,url,false
Http.setRequestHeader „CONTENT-TYPE“, „application/x-www-form-urlencoded“
Http.send(Daten)
wenn Http.readystate<>4 dann
Exit-Funktion
Beenden Sie, wenn
PostHTTPPage=bytesToBSTR(Http.responseBody,"utf-8")
setze http=nichts
Wenn err.number<>0, dann err.Clear
Funktion beenden
So funktioniert es:
Kopieren Sie den Codecode wie folgt:
PostHTTPPage("www.vevb.com","str1=a&str2=b&str3=c")