大约3个月,我有一个使用WebClient调用某些HTTPS API的公共应用程序。 直到大约3个星期前,一切正常,但突然间,应用程序停止工作,所有WebClient调用都抛出“远程服务器返回错误:NotFound。”例外。使用WebClient调用HTTPS URL的例外
我没有以任何方式更新我的应用程序,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网址,则代码将正常工作。 但是,我需要使用HTTPS,因为我需要通过WebClient调用发送证书。
我在互联网上发现,去年其他人遇到过这样的问题,但是这个问题应该在芒果更新中解决。
有没有人知道如何解决这个问题或任何解决方法,因为我用尽了想法。
预先感谢您!
问候, 安德烈
我用户Fiddler(Wireshark)以及我注意到它建立了一个连接,但实际的请求不是从设备发送的。这非常奇怪,因为相同的代码在大约2个月内工作正常并且突然停止工作(对于我和我的应用的其他用户) - 这没有任何改变。 – AndreiC 2012-04-29 10:38:17
您是否安装了Fiddler SSL证书?您看到的请求是HTTP握手而非实际的HTTPS请求。在设备/模拟器上,打开浏览器并访问http:// computername:8888 /并单击“安装证书”链接。之后,你应该能够得到细节。 – MatthieuGD 2012-04-29 17:18:31
嗨,对于我的回复延迟抱歉。我在模拟器上安装了Fiddler证书,并且对https://google.com的呼叫开始工作。然而,在我的公共应用程序中对Delicious API的调用仍然失败,并显示相同的消息... – AndreiC 2012-05-02 13:51:28