Visual Basicスクリプト内でHTTP GETリクエストを実行する方法はありますか?処理のために特定のURLから応答のコンテンツを取得する必要があります。
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.0
progIDをお勧めします)。
XMLHTTPには、応答のバイト配列バージョンであるresponseBody
プロパティもあり、応答のresponseStream
ラッパーであるIStream
があります。
サーバー側の要件(ASPでホストされるVBScriptなど)では、MSXML.ServerXMLHTTP.3.0
または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....
....他にもさまざまなものがありますが、単にリクエストを通過させるためです。