2

我正在尝试将我的 WP8 应用程序移植到 Windows Store 应用程序,并且在执行 HttpClient 的 getStringAsync 时收到 HttpRequestException。

这是给我问题的代码片段:

HttpClient client = new HttpClient();
            Stream stream = await client.GetStreamAsync(new Uri("http://www.psnapi.com.ar/ps3/api/psn.asmx/getPSNID?sPSNID=philippemexes", UriKind.Absolute));

这是完整的异常消息:

HttpRequestException:响应状态码不表示成功:500(内部服务器错误)。我不得不说,指定的 URL 可以在浏览器中运行,并且完全相同的代码也可以在 Windows Phone 项目中正常运行。

有谁知道将所需的 xml 转换为字符串的可能解决方案以及为什么这适用于 Windows Phone 而不适用于 WinRT 应用程序?

非常感谢斯特凡诺

4

1 回答 1

4

提琴手是你的朋友!

当请求标头中没有传递用户代理字符串时,似乎服务不太高兴被调用。尝试添加:

client.DefaultRequestHeaders.Add("user-agent", "blah blah blah");

在你的两行代码之间。这部分没有什么神奇之处blah blah blah:),它似乎适用于您的服务,但谁知道该服务对 UA 字符串的解释(如果有的话)。

于 2013-04-15T02:27:46.827 回答