【问题标题】:How determine redirect url如何确定重定向网址
【发布时间】:2009-02-22 09:46:11
【问题描述】:

我如何知道以编程方式重定向 url 的位置?

例如这个网址:

http://scobleizer.com/feed/

重定向到以下网址:

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

我正在尝试读取提要的 xml 文档。但以下代码行:

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

将为第一个 url 抛出异常:

System.Net.WebException:远程 服务器返回错误:(404)不是 找到了。

【问题讨论】:

    标签: .net url redirect


    【解决方案1】:

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

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

    (现已加载提要)

    edit:它工作,但现在我得到 404.... 奇怪)

    如果您需要知道最终的 url,您可能必须手动使用HttpWebRequest

    【讨论】:

    • 我无法使用 HttpWebRequest 读取最终 url,我必须尝试更多
    【解决方案2】:

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

    我同意 Marc:使用 WebRequest 并检查响应,它应该是 301 或 302(永久或临时重定向),然后它将包含目标 url。

    如果您的响应代码不是 301 或 302,那么它不会重定向您 - 这可能是由用户代理检查服务器端引起的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-29
      • 1970-01-01
      相关资源
      最近更新 更多