【问题标题】:Can you detect a 301 redirect with Microsoft.XMLHTTP object?你能用 Microsoft.XMLHTTP 对象检测到 301 重定向吗?
【发布时间】:2011-02-05 08:36:41
【问题描述】:

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

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

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

任何想法将不胜感激。

【问题讨论】:

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


    【解决方案1】:

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

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

    如果您需要跟踪并且可选择不遵循重定向,则可以使用WinHttp.WinHttpRequest 对象,该对象与 MSXML2.XMLHTTP 一样可由脚本访问。事实上,这是 MSXML2.XMLHTTP 委托给的对象,用于 http 加载。

    您需要将 WinHttpRequestOptions 设置为 EnableRedirects。

    请参阅this Q&A on social.msdn.microsoft.com 了解更多信息。

    【讨论】:

      猜你喜欢
      • 2010-09-28
      • 1970-01-01
      • 2011-06-06
      • 2012-11-26
      • 1970-01-01
      • 2019-09-19
      • 2012-06-04
      • 2014-11-27
      • 2011-05-06
      相关资源
      最近更新 更多