我编写了以下代码来获取网站的 innerHTML 文本:
Public Function GetInnerHtmlBody(ByVal Url As String) As HTMLDocument
Dim ResponseDocument As New HTMLDocument
Dim MyRequest As New WinHttpRequest
With MyRequest
.SetTimeouts 5000, 5000, 5000, 5000
.SetProxy HTTPREQUEST_PROXYSETTING_PROXY, "<PROXY_SERVER_IP>:<PORT>", "*.domain.com"
.Open "GET", Url, False
'// Authentication for the proxy server
'.SetCredentials "<USERNAME>", "<PASSWORD>", CREDENTIALS_FOR_PROXY
.Send
'// Debug
MsgBox .ResponseText, vbInformation, .StatusText & " - " & .Status
ResponseDocument.body.innerHTML = .ResponseText
End With
Set GetInnerHtmlBody = ResponseDocument
End Function
如您所见,该行.SetCredentials
已被注释掉。此行只需要一次即可通过代理服务器进行身份验证,但现在似乎登录凭据已保存,因为即使我排除了该行,代码也成功检索了给定网站的 html 代码。
我重新启动计算机并清除了整个 IE 缓存,但代码仍然有效。
我的问题是现在
Credentials
得救的人在哪里?曲奇?HttpRequest 有没有办法使用 IE 代理设置?-> 无需询问用户名和密码。