http://dieseyer.de • all rights reserved • © 2011 v11.4

'*** v9.A *** www.dieseyer.de ******************************
'
' Datei: httpget.vbs
' Autor: dieseyer@gmx.de
' Auf: www.dieseyer.de
'
' Im Skript wird als Beispiel das aktuelle Wetter (und weitere
' Daten) von 'http://www.webservicex.net/globalweather.asmx'
' für Berlin abgefragt, in einer XML-Datei gespeichert und
' angezeigt. Welche Abfragen vom Webservice angenommen werden
' erfährt man, wenn man dies WWW-Adr. im Browser eingibt.
'
'***********************************************************

Option Explicit ' Siehe http://dieseyer.de/dse-wsh-lernen.html#OptionExpl

Dim XMLDatei, Txt, Tst
Txt = "http://www.webservicex.net/globalweather.asmx/GetWeather?CityName=Stuttgart&CountryName=Germany"

Tst = HttpGet( Txt )
MsgBox Txt & vbCRLF & vbCRLF & vbTab & "ergab:" & vbCRLF & vbCRLF & Tst, , "21 :: " & WScript.ScriptName

XMLDatei = WScript.ScriptFullName & ".xml"
CreateObject("Scripting.FileSystemObject").OpenTextFile( XMLDatei , 2, True).Write Tst
WScript.Sleep 33
CreateObject("WScript.Shell").Run """" & XMLDatei & """", , False

WScript.Quit

'*** v9.A *** www.dieseyer.de ******************************
Function HttpGet( url )
'***********************************************************

' MsgBox url, , "34 :: "
Dim Tst, i
Dim httpRequest : Set httpRequest = CreateObject("Microsoft.XMLHTTP")
' httpRequest.setRequestHeader "Accept", "*/*"
' httpRequest.setRequestHeader "UserAgent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50215)"
' httpRequest.setRequestHeader "Timeout", 1000*60
' httpRequest.setRequestHeader "CWA-Ticket", 1 'this.authTicket
httpRequest.Open "GET", url, True
httpRequest.Send()

Tst = "" : i = 0
Do
Tst = Tst & i & ": " & vbTab & httpRequest.readyState & vbCRLF
If httpRequest.readyState = 4 Then Exit Do
i = i + 1 : If i > 300 Then Exit Do
WScript.Sleep 33
Loop

' MsgBox Tst , , "52 :: " & i
' MsgBox "httpRequest.Status: '" & httpRequest.Status & "'"

If httpRequest.Status = 200 Then
HttpGet = httpRequest.ResponseText
Else
HttpGet = "58 :: FEHLER - ENDE"
End If

Set httpRequest = nothing

End Function ' HttpGet( url )

http://dieseyer.de • all rights reserved • © 2011 v11.4