当前位置:  开发笔记 > 后端 > 正文

VBS中的HTTP GET

如何解决《VBS中的HTTPGET》经验,为你挑选了2个好方法。

有没有办法在Visual Basic脚本中执行HTTP GET请求?我需要从特定的URL获取响应的内容以进行处理.



1> svinto..:
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.


只是添加第三个bool参数表示要将呼叫设为异步还是同步.假值意味着它将是同步调用.此外,如果被调用的网站需要,开放API还有两个用于身份验证的参数,用于传递Userid和密码.

2> AnthonyWJone..:

您还没有在撰写本文时描述您将如何处理响应或其内容类型.答案已经包含了一个非常基本的用法MSXML2.XMLHTTP(我建议使用更明确的MSXML2.XMLHTTP.3.0progID)但是你可能需要对响应做不同的事情,它可能不是文本.

XMLHTTP还有一个responseBody属性,它是响应的字节数组版本,并且有一个响应responseStreamIStream包装器.

请注意,在服务器端需求(例如,在ASP中托管的VBScript)中,您将使用MSXML.ServerXMLHTTP.3.0WinHttp.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

推荐阅读
k78283381
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有