1

我编写了以下代码来获取网站的 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 缓存,但代码仍然有效。

  1. 我的问题是现在Credentials得救的人在哪里?曲奇?

  2. HttpRequest 有没有办法使用 IE 代理设置?-> 无需询问用户名和密码。

4

0 回答 0