我正在编写一组 VBA 宏,其中它使用 XMLHTTP 对象向服务器发送异步请求。我正在发送基本身份验证:
XMLHttpReq.setRequestHeader "Authorization","Basic " & Base64EncodedUserPass
这第一次效果很好。但是,如果用户更改了他们的用户 ID/密码,即使代码创建了一个全新的 XMLHttpReq 对象并将此标头设置为新信息,它也会作为第一个用户登录服务器,可能是从缓存的凭据中登录的。
如何使代码“忘记”我以前登录过并重新授权?
根据要求编辑代码的相关部分;它真的不是很复杂:
myURL = "http://my.domain.com/myscript.cgi"
Dim oHttp As New MSXML2.XMLHTTP
oHttp.Open "POST", myURL, False
oHttp.setRequestHeader "Content-Type", "application/x-www-form-urlencoded'"
oHttp.setRequestHeader "Authorization","Basic " & Base64EncodedUsernamePassword
oHttp.send "PostArg1=PostArg1Value"
Result = oHttp.responseText