'************************************************** * ******************************
'Funktion(öffentlich)
'Name: Remote-Abruffunktion
'Funktion: XMLHTTP verwenden, um Daten aus der Ferne zu erfassen
'Parameter: sMethod --- Sendemethode
' sUrl ------ Zieladresse
' iMode ----- Rückgabeinhaltstyp: 0 ist binär, 1 ist Text, 2 ist Cookie, 3 ist Datei-Header-Informationen
' sBase ----- Codierung festlegen
' sReferer – Quelle festlegen
' sCookie --- Cookie setzen
' sLanguage – Sprache festlegen
' sData ----- Legen Sie die zu sendenden Parameter fest
' sContent – Legen Sie den empfangenden Datentyp fest
' sAgent ---- Browser festlegen
' sEncoding – GZIP-Komprimierung festlegen
' sAccept --- Dokumenttyp festlegen
'************************************************** * ******************************
Öffentliche Funktion SenFe_StealData(sMethod, sUrl, iMode, sBase, sReferer, sCookie, sLanguage, sData, sContent, sAgent, sEncoding, sAccept)
Dim oXmlHttp: Set oXmlHttp = Server.CreateObject(Msxml2.ServerXMLHTTP)
Mit oXmlHttp
Wenn sMethod=, dann ist sMethod = GET
.Open sMethod, sUrl, False
'Seitenquelle festlegen
Wenn sReferer<>Dann
.SetRequestHeaderReferer, sReferer
Anders
.SetRequestHeader Referer, Split(sUrl, /)(2)
Ende wenn
Wenn sCookie<> Then .SetRequestHeader Cookie, sCookie 'Cookie setzen
Wenn sLanguage<> Then .SetRequestHeader Accept-Language, sLanguage 'Sprache festlegen
If sData<> Then .SetRequestHeader Content-Length, Len(sData) 'Datenlänge festlegen
Wenn sContent<> Then .SetRequestHeader Content-Type, sContent 'Legen Sie den akzeptierten Datentyp fest
Wenn sAgent<> Then .SetRequestHeader User-Agent, sAgent 'Browser festlegen
Wenn sEncoding<> Then .SetRequestHeader Accept-Encoding, sEncoding 'Gzip-Komprimierung festlegen
Wenn sAccept<> Then .SetRequestHeader Accept, sAccept 'Dokumenttyp
.sData senden
'Während .ReadyState <> 4
' .WaitForResponse 1000
„Wend
Wenn .ReadyState<>4 oder .Status<>200, dann
SenFe_StealData = Daten können nicht abgerufen werden!
Exit-Funktion
Ende wenn
Wählen Sie Case iMode
Fall 0 SenFe_StealData = .ResponseBody
Fall 1
Wenn sBase<>Dann
SenFe_StealData = BytesToBstr(.ResponseBody, sBase)
Anders
SenFe_StealData = .ResponseText
Ende wenn
Fall 2 SenFe_StealData = .getResponseHeader(Set-Cookie)
Andernfalls SenFe_StealData = .getAllResponseHeaders()
Endauswahl
Ende mit
Funktion beenden
'************************************************** * ******************************
'Funktion: Kodierungskonvertierung
'Parameter: sBody – der zu konvertierende Inhalt
' sCset - Kodierung
'************************************************** * ******************************
Funktion BytesToBstr(sBody, sCset)
Mit oAdos
.Typ = 1
.Modus = 3
.Offen
.Schreiben Sie sBody
.Position = 0
.Typ = 2
.Charset = sCset
BytesToBstr = .ReadText
.Schließen
Ende mit
Funktion beenden