2008-10-02 9 views
4

J'utilise ServerXMLHTTP pour effectuer un POST HTTP. La réponse renvoyée est une redirection (en particulier 303 Voir Autre). ServerXMLHTTP suit automatiquement cette redirection, mais cela entraîne un échec d'authentification car il ne propage pas l'en-tête Authorization de la demande d'origine.Comment empêcher ServerXMLHTTP de suivre automatiquement les redirections (HTTP 303 Voir Autres réponses)?

Y a-t-il un moyen de prévenir la redirection automatique (ou de m'assurer que l'en-tête Authorization est renvoyé)?

Répondre

6

ServerXMLHTTP ne supporte pas l'interception de redirections (voir Microsoft Knowledge Base Article 308607). Cependant WinHTTP peut être utilisé à sa place et ce contient une option «activer les redirections» configurable.

Comment désactiver WinHTTP réoriente en VBA:

webClient.Option(6) = False 

Dans le contexte:

Set webClient = CreateObject("WinHttp.WinHttpRequest.5.1") 
webClient.Option(6) = False 
webClient.Open "POST", "http://example.com", False 
webClient.send ("")