VBA-XMLHTTP-klar-Authentifizierung?

Schreibe ich einen Satz VBA-Makros, in denen es verwendet das XMLHTTP-Objekt zu senden, asynchrone Anfragen an einen server. Ich schicke Basic-Authentifizierung mit:

XMLHttpReq.setRequestHeader "Authorization","Basic " & Base64EncodedUserPass

Dies funktioniert gut, die erste Zeit.
Aber wenn der Benutzer änderungen Ihrer userid/Passwort, auch wenn der code erstellt eine völlig neue XMLHttpReq-Objekt und legt diesen header, um die neuen Informationen ein, meldet es sich beim server als der erste Benutzer, vermutlich von zwischengespeicherte Anmeldeinformationen.

Wie kann ich den code "vergessen", dass ich angemeldet haben, bevor, und re-autorisieren?

Bearbeiten, wie gefordert, den relevanten Teil des Codes; es ist wirklich nicht sehr kompliziert:

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
  • Wenn ich das URL-format http[s]://user:password@host/ dann kann ich austauschbar verwenden Sie unterschiedliche Benutzernamen, aber das scheint weniger sicher irgendwie. Vielleicht ist dies der einzige Weg, es zu tun, obwohl?
  • Haben Sie versucht, löschen IE Geschichte? mrexcel.com/forum/...
  • Ich will nicht, um die gesamte Browser-Verlauf, die nur für diese eine Aufgabe. Die zugrunde liegenden Makros werden an die Kunden vertrieben als Teil eines größeren Produkts, und ich fühle mich nicht wie ich einnehmen sollte, die viel direkte Kontrolle über Ihre Internet Explorer-cache.
  • OK. Können Sie zeigen Sie Ihren code?
  • Code Hinzugefügt, um die Frage.
InformationsquelleAutor Josh | 2012-07-17
Schreibe einen Kommentar