有没有办法在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