WinHTTP请求GET不会检索Excel VBA中的响应

我有一个触发到门户GET调用的macros。 以下是url结构:

https://开头{} P_URL_PORT / IBM /控制台/状态文本=真型=簇名= {P_CELL}&时间= {} TSTAMP?

这是我的macros。

Dim WinHttpReq As Object Set WinHttpReq = CreateObject("WinHttp.WinHttpRequest.5.1") WinHttpReq.Open "GET", strURL, False, userNTID, userPassword WinHttpReq.setRequestHeader "User-Agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)" WinHttpReq.Send result1 = WinHttpReq.responseText 

但我没有得到预期的回应。 它显示login屏幕响应。 我已经尝试添加POST方法,它将发送loginURL,用户名和密码。 但是GET调用仍然没有检索到实际的响应。

WinHttpRequest的开放函数不会将用户名和密码作为参数。 如果您能够在Internet Explorer中自动login该网站,则可以使用SetAutoLogonPolicy()

警告:自动login意味着不是由于Cookie,而是由代理设置。 有时您可以自动login到网站,因为浏览器记住了您的上次login。

可以肯定的是: – closures所有的浏览器窗口。 打开私人窗口。 如果您现在自动login,则意味着它在“Internet选项”中设置,并且SetAutoLogonPolicy()应该可以工作。

 Dim URL As String URL = "" 'provide URL Dim HDoc As HTMLDocument Dim whr As New WinHttpRequest whr.Open "GET", URL, False whr.SetRequestHeader "User-Agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)" whr.SetAutoLogonPolicy AutoLogonPolicy_Always whr.Send 

万一你需要login你提供的凭据,然后使用SetCredentials()。 这个请求的一个很好的例子可以在这里find