我使用的ServerXMLHTTP执行HTTP POST。 返回的响应是重定向(具体参见303其他)。 ServerXMLHTTP的自动跟随此重定向,但这是造成认证失败作为不传播的原始请求的授权报头。
有没有一种办法可以防止自动重定向(或可选择地确保授权头重发)?
我使用的ServerXMLHTTP执行HTTP POST。 返回的响应是重定向(具体参见303其他)。 ServerXMLHTTP的自动跟随此重定向,但这是造成认证失败作为不传播的原始请求的授权报头。
有没有一种办法可以防止自动重定向(或可选择地确保授权头重发)?
ServerXMLHTTP的不支持重定向的拦截 (请参阅Microsoft知识库文章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 ("")