VBA中的默认凭据

时间:2014-06-03 12:18:22

标签: vba proxy httpclient

我尝试从VB for Applications(VBA)发出HTTP请求 应该很简单:

URL = "https://www.google.com/"
Set xhr = CreateObject("MSXML2.ServerXMLHTTP.6.0")
xhr.Open "GET", URL, False
xhr.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
xhr.Send
MsgBox xhr.responseText

但我在代理服务器后面需要基本身份验证(base64)。

如何在VBA中设置凭据?

(相当于:myHttpWebRequest.Credentials = CredentialCache.DefaultCredentials)

如果无法做到这一点,如何用另一种方法解决问题?

谢谢!

1 个答案:

答案 0 :(得分:1)

您需要setProxyCredentials方法。我没有代理来测试,但这应该可以解决问题:

URL = "https://www.google.com/"
Set xhr = CreateObject("MSXML2.ServerXMLHTTP.6.0")
xhr.Open "GET", URL, False
xhr.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
xhr.setProxy 2, "192.168.0.222:8080"
xhr.setProxyCredentials "your_username" , "password_for_username"
xhr.Send
MsgBox xhr.responseText

取自This Question,指出2参数是您可能需要更改的版本号。