Как предотвратить автоматическое следование ServerXMLHTTP перенаправлениям (HTTP 303 См. Другие ответы)? - PullRequest
4 голосов
/ 02 октября 2008

Я использую ServerXMLHTTP для выполнения HTTP POST. Возвращенный ответ является перенаправлением (в частности, 303 См. Другое). ServerXMLHTTP автоматически следует за этим перенаправлением, но это вызывает ошибку аутентификации, поскольку не распространяется заголовок авторизации исходного запроса.

Есть ли способ предотвратить автоматическое перенаправление (или, в качестве альтернативы, обеспечить повторную отправку заголовка авторизации)?

1 Ответ

6 голосов
/ 02 октября 2008

ServerXMLHTTP не поддерживает перехват перенаправлений (см. Статья базы знаний Майкрософт 308607 ). Однако WinHTTP может использоваться вместо него, и этот содержит , содержащий настраиваемую опцию «разрешить перенаправления».

Как отключить перенаправления WinHTTP в VBA:

webClient.Option(6) = False

В контексте:

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