HttpClient中的GetStringAsync方法在WP8中抛出异常

时间:2013-08-25 18:14:52

标签: c# windows-phone-7 windows-phone-8 windows-phone httpclient

最近,我为WP8开发了一个App,并且在开始时一切正常。但是,从昨天起,我在尝试从网址中检索 RSS数据时遇到错误。

这是我用来获取数据的代码的一部分:

try
{
   HttpClient client = new HttpClient();
   var result = await client.GetStringAsync("http://www.scoop.it/t/recycling-by-miguel18/rss.xml");
   var parseResult = XDocument.Parse(result);
   . . .
}
catch (Exception ex)
{
   throw new Exception("Error: " + ex.Message);
}

其中source是包含获取 RSS数据的网址的字符串。 正如评论的那样,在开始时工作正常,我能够使用它来获取数据。

现在,它引发了以下错误: 响应状态代码不表示成功:404()。

如果我将网址直接放到任何浏览器上,我都可以看到 RSS提要。所以,我不承担代码会出现什么问题。我有点失落。

如果你能帮助我弄清楚哪些是错误的,那将是非常有帮助的

问候!

3 个答案:

答案 0 :(得分:2)

您需要为WP模拟器提供互联网访问权限。

这篇文章很有帮助

connect WP emulator to internet

答案 1 :(得分:0)

嗯...我也得到同样的错误...使用自己的类来调用API,首先调用navigatedTo成功,第二次调用使用按钮点击错误,两者都使用相同的代码。在chrome rest客户端上,网址成功。

答案 2 :(得分:0)

您是否尝试添加用户代理标头? 请参阅DownloadString returns a 404 Error: Site needs a User-Agent Header

大多数网站阻止了某些避免机器人的请求。试试吧,请告诉我......