所以,我试图使用WinHttpRequest类从VBA向http服务器发送请求。
我已经制作了一个类似的代码,可以将请求发送到另一台服务器,但它确实有效。这个人甚至不会经历"发送"。它失败(超时)。
我已经检查了Google Chrome devtools的每个RequestHeader,并尝试复制网络请求,但失败了(有或没有Cookie)。
有什么想法吗?
代码:
Dim WHTTP As New WinHttp.WinHttpRequest With WHTTP .Open "GET", "https://contactcenter-prd.prosodie.com/prweb/sso", False .SetRequestHeader "Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8" .SetRequestHeader "Accept-Encoding", "gzip, deflate, br" .SetRequestHeader "Accept-Language", "pt-BR,pt;q=0.9,en-US;q=0.8,en;q=0.7" .SetRequestHeader "Connection", "keep-alive" '.SetRequestHeader "Cookie", "JSESSIONID=337C72E2DBCC1080C674033FFC51EBFA.contactcenter; Pega-RULES=" & Chr(34) & "{atn}e3ByfVkzNDBlc3NYRlBYdWFRT2dkRFRjekU5LytjNm51MEMwazI4YmJqVDNvaFlUTE1LQUN3T1p6SUVYMEd5dlUxaHRSWEVINFpJTWVhY1YKdCtpRkQwZjJLdz09" & Chr(34) & "; BWROUTEID=s2ac70d938fbd5ee39c5b1b93ac33d7b.1" .SetRequestHeader "Host", "contactcenter-prd.prosodie.com" .SetRequestHeader "Upgrade-Insecure-Requests", "1" '.SetRequestHeader "User-Agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.117 Safari/537.36" ' From Chrome .SetRequestHeader "User-Agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)" ' Some guy said it would work (it didn't) '.SetTimeouts 1200000, 1200000, 1200000, 1200000 .Send End With
修改
宏的目的是进入网站,获取一些信息,将信息放入工作表并退出网站。
我知道网址会重定向到另一个网址,但(我认为)我必须去第一个网站获取一些Cookie。
编辑2:
问题解决了。
我必须设置代理才能使用该网站。
.SetProxy 2, myProxy
成功了!
答案 0 :(得分:0)
使用.SetProxy 2, proxy
解决了问题。