Как запретить ServerXMLHTTP автоматически следовать за перенаправлениями (HTTP 303, см. другие ответы)?

StackOverflow https://stackoverflow.com/questions/161343

Вопрос

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

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

Это было полезно?

Решение

ServerXMLHTTP не поддерживает перехват перенаправлений. (видеть Статья 308607 базы знаний Microsoft).Однако 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 ("")
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top