下面是我用于VBScript发送HTTP请求的代码。
Option Explicit
Dim objHTTP, url, Hpost
Set objHTTP = CreateObject("Microsoft.XMLHTTP")
url = "http://localhost:8080/xyz/processKey?key=abcd"
objHTTP.open "POST", url, False
objHTTP.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
objHTTP.send
WScript.Echo objHTTP.responseText
错误:
HTTP 400错误请求
内容长度必须大于0
[编辑:采用@Lankymart的评论]
您的请求似乎不是一个纯粹的"HTTPPOST"或"HTTPGET"请求。
对于"HTTP POST"请求:
- 参数不应该在URL中,它应该在正文中
- 服务器似乎需要一个内容长度
示例:
Option Explicit
Dim objHTTP, url, param
Set objHTTP = CreateObject("Microsoft.XMLHTTP")
url = "http://localhost:8080/xyz/processKey"
param = "key=abcd"
objHTTP.open "POST", url, False
objHTTP.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
objHTTP.send param
WScript.Echo objHTTP.responseText
对于"HTTP GET"请求
- 参数必须嵌入URL中
- 发送必须为空
示例:
Option Explicit
Dim objHTTP, url, param
Set objHTTP = CreateObject("Microsoft.XMLHTTP")
url = "http://localhost:8080/xyz/processKey"
param = "key=abcd"
objHTTP.open "GET", url + "?" + param, False
objHTTP.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
objHTTP.send
WScript.Echo objHTTP.responseText