XMLHTTPオブジェクトを使用して非同期リクエストをサーバーに送信するVBAマクロのセットを作成しています。基本認証を送信しています:
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