Wie kann ich verhindern, dass ServerXMLHTTP automatisch folgende Umleitungen (HTTP 303 Siehe Andere Antworten)?
-
03-07-2019 - |
Frage
Ich bin mit ServerXMLHTTP einem HTTP-POST auszuführen. Die Antwort zurückgegeben wird, ist eine Umleitung (insbesondere 303 See Other). ServerXMLHTTP folgt automatisch diese Umleitung aber dies verursacht einen Authentifizierungsfehler als nicht wird, um den Authorization-Header der ursprünglichen Anforderung zu verbreiten.
Gibt es eine Möglichkeit ich die automatische Umleitung verhindern kann (oder alternativ sicherzustellen, dass der Autorisierungsheader erneut gesendet wird)?
Lösung
ServerXMLHTTP unterstützt nicht Abfangen von Umleitungen (siehe Microsoft Knowledge Base-Artikel 308607 ). Allerdings WinHTTP kann an seinem Platz und das verwendet werden, funktioniert enthält eine konfigurierbare 'ermöglichen Umleitungen' Option.
Wie WinHTTP Umleitungen in VBA deaktivieren:
webClient.Option(6) = False
Im Kontext:
Set webClient = CreateObject("WinHttp.WinHttpRequest.5.1")
webClient.Option(6) = False
webClient.Open "POST", "http://example.com", False
webClient.send ("")