Visual Basic スクリプト内で HTTP GET 要求を実行する方法はありますか? 処理のために特定の URL から応答の内容を取得する必要があります。
4 に答える
Dim o
Set o = CreateObject("MSXML2.XMLHTTP")
o.open "GET", "http://www.example.com", False
o.send
' o.responseText now holds the response as a string.
執筆時点では、応答で何をしようとしているのか、またはそのコンテンツ タイプが何であるかについては説明していません。回答にはすでに非常に基本的な使用方法が含まれていますMSXML2.XMLHTTP(より明示的なMSXML2.XMLHTTP.3.0progID をお勧めします) が、テキストではない場合もあります。
XMLHTTP にはresponseBody、応答のバイト配列バージョンであるプロパティもあり、応答のラッパーでresponseStreamある があります。IStream
MSXML.ServerXMLHTTP.3.0サーバー側の要件 (ASP でホストされる VBScript など) では、 or WinHttp.WinHttpRequest.5.1(ほぼ同一のインターフェイスを持つ) を使用することに注意してください。
XmlHttp を使用して PDF ファイルを取得して保存する例を次に示します。
Dim oXMLHTTP
Dim oStream
Set oXMLHTTP = CreateObject("MSXML2.XMLHTTP.3.0")
oXMLHTTP.Open "GET", "http://someserver/folder/file.pdf", False
oXMLHTTP.Send
If oXMLHTTP.Status = 200 Then
Set oStream = CreateObject("ADODB.Stream")
oStream.Open
oStream.Type = 1
oStream.Write oXMLHTTP.responseBody
oStream.SaveToFile "c:\somefolder\file.pdf"
oStream.Close
End If
実際にデータを送信するためにGETリクエストを使用している場合...
チェック: http://techhelplist.com/index.php/tech-tutorials/37-windows-troubles/60-vbscript-sending-get-request
MSXML2.XMLHTTP の問題は、複数のバージョンがあり、Windows OS のバージョンとパッチによって名前が異なることです。
これはそれを説明しています: http://support.microsoft.com/kb/269238
vbscript を使用して呼び出すことができたのは幸運でした
set ID = CreateObject("InternetExplorer.Application")
IE.visible = 0
IE.navigate "http://example.com/parser.php?key=" & value & "key2=" & value2
do while IE.Busy....
....その他のものですが、リクエストを通過させるだけです。