如何使用VBA从Excel向服务器发送HTTP POST请求?

24 浏览
0 Comments

如何使用VBA从Excel向服务器发送HTTP POST请求?

需要哪些VBA代码来从Excel电子表格执行HTTP POST请求?

admin 更改状态以发布 2023年5月21日
0
0 Comments

除了Bill the Lizard的答案:

大多数后台都会解析原始的POST数据。在PHP中,你会有一个数组$_POST,其中包含POST数据中的各个变量。在这种情况下,你必须使用一个额外的header"Content-type:application/x-www-form-urlencoded"

Set objHTTP = CreateObject("WinHttp.WinHttpRequest.5.1")
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.setRequestHeader "Content-type", "application/x-www-form-urlencoded"
objHTTP.send "var1=value1&var2=value2&var3=value3"

否则,你必须在变量"$HTTP_RAW_POST_DATA"中读取原始的POST数据。

0
0 Comments

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

0