WinHTTP请求失败(超时)。为什么呢?

时间:2018-05-23 18:40:48

标签: vba winhttprequest

所以,我试图使用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成功了!

1 个答案:

答案 0 :(得分:0)

使用.SetProxy 2, proxy解决了问题。