¿Cómo evito que ServerXMLHTTP siga automáticamente las redirecciones (HTTP 303 Ver otras respuestas)?
-
03-07-2019 - |
Pregunta
Estoy usando ServerXMLHTTP para realizar una POST HTTP. La respuesta devuelta es una redirección (específicamente 303 Ver Otros). ServerXMLHTTP está siguiendo automáticamente esta redirección, pero esto está causando un error de autenticación ya que no se propaga el encabezado de autorización de la solicitud original.
¿Existe alguna forma de evitar la redirección automática (o, de forma alternativa, asegurar que el encabezado de la Autorización sea reenviado)?
Solución
ServerXMLHTTP no admite la interceptación de redireccionamientos (consulte Artículo 308607 de Microsoft Knowledge Base ). Sin embargo, se puede utilizar WinHTTP en su lugar y este sí contiene una opción configurable de "habilitar redirecciones".
Cómo deshabilitar los redireccionamientos de WinHTTP en VBA:
webClient.Option(6) = False
En contexto:
Set webClient = CreateObject("WinHttp.WinHttpRequest.5.1")
webClient.Option(6) = False
webClient.Open "POST", "http://example.com", False
webClient.send ("")