如何使用VBA从Excel向服务器发送HTTP POST请求?
时间:2020-03-06 14:59:12 来源:igfitidea点击:
从Excel电子表格执行HTTP POST需要什么VBA代码?
解决方案
通过添加对MSXML的引用,可以在VBA项目中使用ServerXMLHTTP。
- 打开VBA编辑器(通常通过编辑宏)
- 转到可用参考文献列表
- 检查Microsoft XML
- 单击确定。
(来自在VBA项目中引用MSXML)
ServerXMLHTTP MSDN文档包含有关ServerXMLHTTP的所有属性和方法的完整详细信息。
简而言之,它基本上是这样的:
- 调用打开方法以连接到远程服务器
- 致电发送以发送请求。
- 通过responseXML,responseText,responseStream或者responseBody读取响应
在使用MSXML库然后使用XMLHttpRequest对象之前,我已完成此操作。参见http://scriptorium.serve-it.nl/view.php?sid=40
Set objHTTP = CreateObject("MSXML2.ServerXMLHTTP") URL = "http://www.somedomain.com" objHTTP.Open "POST", URL, False objHTTP.setRequestHeader "User-Agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)" objHTTP.send("")
另外,为了更好地控制HTTP请求,我们可以使用WinHttp.WinHttpRequest.5.1代替MSXML2.ServerXMLHTTP。