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

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

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


person Matthew Murdoch    schedule 02.10.2008    source источник


Ответы (1)


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 ("")
person Matthew Murdoch    schedule 02.10.2008