我正在尝试将我的WP8应用程序移植到Windows应用商店应用程序,并且在执行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应用程序?
非常感谢你 斯特凡诺
答案 0 :(得分:4)
Fiddler是你的朋友!
如果请求标头中没有传递用户代理字符串,则表示服务对于调用不太满意。尝试添加:
client.DefaultRequestHeaders.Add("user-agent", "blah blah blah");
你的两行代码之间的。 blah blah blah
部分:)没有任何魔力,它似乎适用于您的服务,但谁知道服务对UA字符串的解释是什么(如果有的话)。