你能用Microsoft.XMLHTTP对象检测301重定向吗?

时间:2010-04-07 16:39:03

标签: vbscript xmlhttprequest http-status-code-301 msxml

我正在使用VBScript和Microsoft.XMLHTTP对象来抓取一些网络数据。我有一个要检查的URL列表,但不幸的是其中一些301重定向到列表中的其他URL,所以我最终得到了冗余数据。

是否可以在301重定向上使XMLHTTP对象失败?或者至少缓存原始响应头?或者只是让我知道发生了什么?

(注意:我无法控制服务器我正在请求数据;当我获得新数据时,我可以检查它是否多余,但如果可能的话我想避免这样做。)

非常感谢任何想法。

1 个答案:

答案 0 :(得分:2)

首先,您应该使用的ProgId是MSXML2.XMLHTTP。

答案是, - MSXML2.XMLHTTP会自动跟踪重定向。

如果您需要跟踪并且可选择不跟踪重定向,那么您可以使用WinHttp.WinHttpRequest对象,该脚本可以访问MSXML2.XMLHTTP。实际上,对于http加载,这是MSXML2.XMLHTTP委托的对象。

您需要将WinHttpRequestOptions设置为EnableRedirects。

有关详情,请参阅this Q&A on social.msdn.microsoft.com