Excel VBA运行时错误'-2147024713';WinHttpRequest上的(800700b7)
我试图重播从Chrome浏览器复制的http请求 在VBA Excel中重新创建请求时,有一行导致以下错误: 我的请求中有多个标题,但当我删除这一行时,错误消失了:Excel VBA运行时错误'-2147024713';WinHttpRequest上的(800700b7),excel,vba,Excel,Vba,我试图重播从Chrome浏览器复制的http请求 在VBA Excel中重新创建请求时,有一行导致以下错误: 我的请求中有多个标题,但当我删除这一行时,错误消失了: req.SetRequestHeader "content-type", "application/json;charset=UTF-8" 完整请求如下所示: Sub httpTest() Set req = CreateObject("WinHttp.WinHttpReque
req.SetRequestHeader "content-type", "application/json;charset=UTF-8"
完整请求如下所示:
Sub httpTest()
Set req = CreateObject("WinHttp.WinHttpRequest.5.1")
req.Open "POST", "https://contoso.com/wft/bridge/gui/gen/rest/1.0/getData?endDate=2021-05-28+00:00:00.000&genieId=4", False
req.SetRequestHeader "Content-Type", "text/xml"
req.SetRequestHeader "User-Agent", "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.75 Mobile Safari/537.36"
req.SetProxy 2, "webproxy.contoso.com:1234"
req.SetCredentials "user", "secret", 0
req.SetRequestHeader "accept", "application/json, text/plain, */*"
req.SetRequestHeader "accept-encoding", "gzip, deflate, br"
req.SetRequestHeader "accept-language", "en-GB,en-US;q=0.9,en;q=0.8"
req.SetRequestHeader "content-length", "9"
req.SetRequestHeader "content-type", "application/json;charset=UTF-8"
req.SetRequestHeader "cookie", "USER=QkS8fIs; JSESSIONID=h6hYe-d90995a0a398"
req.SetRequestHeader "csrf_tok", "OVSW-OG9M"
req.SetRequestHeader "origin", "https://contoso.com"
req.SetRequestHeader "referer", "https://contoso.com/static/applications/navigator/html5/di/gnies/index.html?version=8.1.6.4999&userLocale=en_US&widgetId=649"
req.SetRequestHeader "sec-fetch-mode", "cors"
req.SetRequestHeader "sec-fetch-site", "same-origin"
req.Send ("*abcd12")
End Sub
如何修复错误
更新
如果尝试添加用户代理标头,则返回错误:
req.SetRequestHeader "user-agent", "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Mobile Safari/537.36"
这个错误发生在哪一行?您设置了两次内容类型:我认为您只能设置一次特定的标题。似乎就是这样。谢谢很好的定位。