如何知道以编程方式重定向网址的位置?
e.g。这个网址:
重定向到以下网址:
http://feeds2.feedburner.com/fastcompany/scobleizer
我正在尝试阅读Feed的xml文档。但是以下几行代码:
var doc = new XmlDocument();
doc.Load(url);
将为第一个url抛出一个exeption:
System.Net.WebException:远程 服务器返回错误:(404)不是 找到。
答案 0 :(得分:1)
不应该抛出。它适用于我:
var doc = new XmlDocument();
doc.Load(@"http://scobleizer.com/feed/");
(现已加载Feed)
(编辑: 正在工作,但现在我得到了404 ....奇怪)
如果您需要知道最终网址,则可能需要手动使用HttpWebRequest
。
答案 1 :(得分:1)
如果它给你一个404,可能是因为Feed生成器检查你的用户代理或类似的,然后在它不符合要求时回复404。
我同意Marc:使用WebRequest并检查响应,它应该是301或302(永久或临时重定向),然后它将包含目标URL。
如果您的回复代码不是301或302,那么它不会重定向您 - 这可能是由用户代理检查服务器端引起的。