代码之家  ›  专栏  ›  技术社区  ›  B Faley

如何确定重定向url

  •  0
  • B Faley  · 技术社区  · 16 年前

    我怎么知道url在哪里被程序重定向?

    例如,此网址:

    http://scobleizer.com/feed/

    重定向到以下URL:

    http://feeds2.feedburner.com/fastcompany/scobleizer

    我正在尝试读取feed的xml文档。但是下面几行代码:

    var doc = new XmlDocument();
    doc.Load(url);
    

    将为第一个url抛出一个exption:

    system.net.webexception:远程 服务器返回错误:(404)不 找到了。

    2 回复  |  直到 15 年前
        1
  •  1
  •   Marc Gravell    16 年前

    那不应该扔。对我来说很好:

            var doc = new XmlDocument();
            doc.Load(@"http://scobleizer.com/feed/");
    

    (现在已加载提要)

    ( 编辑 :它 工作,但现在我有404…奇数)

    如果你需要的话 知道 最后一个url,您可能需要使用 HttpWebRequest 手动操作。

        2
  •  1
  •   Steffen    15 年前

    如果它给你一个404,很可能是因为feed生成器检查你的用户代理或类似的,然后当它不符合要求时响应404。

    我同意贾景晖的观点:使用一个命令行并检查响应,它应该是301或302(永久或临时重定向),然后它将包含目标URL。

    如果您的响应代码不是301或302,那么它不会重定向到您——这可能是由用户代理检查程序造成的。