我正在使用VBScript和Microsoft.XMLHTTP对象来抓取一些网络数据。我有一个要检查的URL列表,但不幸的是其中一些301重定向到列表中的其他URL,所以我最终得到了冗余数据。
是否可以在301重定向上使XMLHTTP对象失败?或者至少缓存原始响应头?或者只是让我知道发生了什么?
(注意:我无法控制服务器我正在请求数据;当我获得新数据时,我可以检查它是否多余,但如果可能的话我想避免这样做。)
非常感谢任何想法。
答案 0 :(得分:2)
首先,您应该使用的ProgId是MSXML2.XMLHTTP。
答案是,否 - MSXML2.XMLHTTP会自动跟踪重定向。
如果您需要跟踪并且可选择不跟踪重定向,那么您可以使用WinHttp.WinHttpRequest对象,该脚本可以访问MSXML2.XMLHTTP。实际上,对于http加载,这是MSXML2.XMLHTTP委托的对象。
您需要将WinHttpRequestOptions设置为EnableRedirects。