任何人都可以告诉我为什么它可以在浏览器中工作但不适用于我的代码吗?
也许远程网站希望您设置 UserAgent。例如:
using (var client = new WebClient())
{
client.Headers[HttpRequestHeader.UserAgent] = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17";
using (var stream = client.OpenRead(url))
using (var reader = XmlReader.Create(stream))
{
while (reader.Read())
{
// ...
}
}
}
或者网站可能希望您通过身份验证才能调用此资源?在这种情况下,您需要将身份验证 cookie 与请求一起发送。如果您不确定,请联系网站管理员以获取有关如何使用其 API 的更多信息。
哦,顺便说一句,您将SyndicationFeed
类内置到 .NET 框架中正是为此目的。使用 anXmlReader
来解析 RSS 似乎相当费力。