使用 Web 客户端调用 HTTPS URL 的异常
本文关键字:URL 异常 HTTPS 调用 Web 客户端 使用 | 更新日期: 2023-09-27 18:32:39
大约3个月,我有一个公共应用程序,它使用WebClient调用一些HTTPS API。直到大约 3 周前一切正常,但突然应用程序停止工作,所有 WebClient 调用都抛出"远程服务器返回错误:NotFound."异常。
我没有以任何方式更新我的应用程序,API没有改变,我没有注意到Windows Phone的任何更新。我提到我的应用程序面向Windows Phone OS 7.1,我也尝试使用HttpWebRequest类 - 结果是一样的。我的代码看起来像这样:
private void tile_Tap(object sender, System.Windows.Input.GestureEventArgs e)
{
WebClient wc = new WebClient();
wc.OpenReadCompleted += new OpenReadCompletedEventHandler(wc_OpenReadCompleted);
wc.OpenReadAsync(new Uri("https://www.google.com"));
}
void wc_OpenReadCompleted(object sender, OpenReadCompletedEventArgs e)
{
try {
StreamReader s = new StreamReader(e.Result);
string r = s.ReadToEnd();
MessageBox.Show(r);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
每次调用此代码时都会失败,并出现上述异常。如果我尝试获取"http://www.google.com"或任何其他 HTTP URL,代码将正常工作。但是,我需要使用 HTTPS,因为我还需要使用 WebClient 调用发送凭据。
我在网上发现其他人去年遇到了这样的问题,但这个问题应该通过芒果更新来解决。
有谁知道我如何解决这个问题或任何解决方法,因为我没有想法了。
提前谢谢你!
问候安德烈
首先,NotFound 错误是一个通用错误,要获得问题的细节,您需要使用像 Fiddler 这样的工具(使用模拟器:http://blogs.msdn.com/b/fiddler/archive/2010/10/15/fiddler-and-the-windows-phone-emulator.aspx/带有设备:http://blogs.msdn.com/b/fiddler/archive/2011/01/09/debugging-windows-phone-7-device-traffic-with-fiddler.aspx(
现在也许是SSL证书有问题?如果您使用桌面浏览器访问相同的 URL,您是否收到有关其有效性的警告/错误?如果是这样,你就不走运了,因为我认为你不能像桌面上的fwk那样覆盖Windows Phone上的证书验证。
但首先尝试使用 Fiddler 进行调试以获取一些详细信息。