Diese Funktion läuft auch mit VBScript, ASP, VBA.
Aufruf (Beispiel):
fetch_page = getURL("<a href="http://www.example.com/")" target="blank">http://www.example.com/")</a>
msgbox fetch_page |
Private Function GetURL(URL)
' --- Konstanten für die Verwendung eines ADODB.Stream-Objektes
Const adTypeText = 2
Const adReadAll = -1
' --- Instantiieren des Objekts MSXML2.ServerXMLHTTP
' Set objHTTP = Server.CreateObject("MSXML2.ServerXMLHTTP.4.0")
' --- für XML 3 !
Set objHTTP = CreateObject("MSXML2.ServerXMLHTTP")
' --- Instantiieren des
Set objStream = CreateObject("ADODB.Stream")
' --- Einstellen der Timeouts in Millisekunden
' --- Es gibt 4 Parameter, die in der nachstehenden Reihenfolge angegeben werden müssen
' -----------------------------------------------------
' --- resolveTimeout - Auflösen des Hostnamens
' --- connectTimeout - Verbinden mit dem Host
' --- sendTimeout - Senden eines Datenpaketes an den Server
' --- receiveTimeout - Empfangen eines Datenpaketes vom Server
' -----------------------------------------------------
objHTTP.SetTimeouts 5000, 5000, 5000, 5000
' --- Erstellen des Requests mit folgenden Parametern
' --- bstrMethod - Request-Methode
' --- bstrURL - Adresse der Seite, die ausgelesen werden soll
' --- varAsync - Laden der Seite asynchron (Wenn false, wird synchron geladen)
objHTTP.open "GET", URL, false
' --- Senden des Requests
objHTTP.send
' --- Datenstrom öffnen und den Typ TEXT festlegen
objStream.Open
objStream.Type = adTypeText
' --- Den Inhalt des ResponseBody in das Stream-Objekt schreiben
objStream.WriteText(objHttp.ResponseBody)
' --- An den Anfang des "Stromes" positionieren
objStream.Position = 0
' --- Deuschsprachingen Zeichensatz einstellen
objStream.Charset = "latin1"
' --- Der gesamte Text der geladenen Seite wird jetzt in das Stream-Objekt
' --- eingelesen und als Rückgabewert der Funktion GetURL zugewiesen.
' --- Und abschließend muss das Objekt wieder geschlossen werden.
GetURL = objStream.ReadText(adReadAll)
objStream.close
' --- Terminieren der Objekte
Set objStream = Nothing
Set objHTTP = Nothing
End Function |