Как запретить ServerXMLHTTP автоматически следовать за перенаправлениями (HTTP 303, см. другие ответы)?
-
03-07-2019 - |
Вопрос
Я использую 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 ("")
Не связан с StackOverflow