Come posso impedire a ServerXMLHTTP di seguire automaticamente i reindirizzamenti (HTTP 303 Vedi Altre risposte)?
-
03-07-2019 - |
Domanda
Sto usando ServerXMLHTTP per eseguire un POST HTTP. La risposta restituita è un reindirizzamento (in particolare 303 Vedi altro). ServerXMLHTTP sta seguendo automaticamente questo reindirizzamento, ma ciò sta causando un errore di autenticazione poiché non sta propagando l'intestazione di autorizzazione della richiesta originale.
Esiste un modo in cui posso impedire il reindirizzamento automatico (o in alternativa assicurarsi che l'intestazione dell'autorizzazione sia rinviata)?
Soluzione
ServerXMLHTTP non supporta l'intercettazione di reindirizzamenti (vedere Articolo 308607 della Microsoft Knowledge Base / a>). Tuttavia WinHTTP può essere utilizzato al suo posto e questo contiene contiene un'opzione configurabile di "abilitazione dei reindirizzamenti".
Come disabilitare i reindirizzamenti WinHTTP in VBA:
webClient.Option(6) = False
Nel contesto:
Set webClient = CreateObject("WinHttp.WinHttpRequest.5.1")
webClient.Option(6) = False
webClient.Open "POST", "http://example.com", False
webClient.send ("")