C# 使用WebClient调用HTTPS URL时出现异常

C# 使用WebClient调用HTTPS URL时出现异常,c#,.net,windows-phone-7,webclient,C#,.net,Windows Phone 7,Webclient,大约3个月来,我有一个公共应用程序,它使用WebClient调用一些HTTPS API。 直到大约3周前,一切正常,但突然应用程序停止工作,所有WebClient调用抛出“远程服务器返回错误:NotFound.”异常 我没有以任何方式更新我的应用程序,API没有更改,我没有注意到Windows Phone的任何更新。 我提到我的应用程序是针对Windows Phone OS 7.1的,我还尝试使用HttpWebRequest类——结果是一样的。 我的代码如下所示: private void ti

大约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调用发送凭据

我在互联网上发现,去年其他人也遇到了这样的问题,但这个问题应该通过芒果更新来解决

有没有人知道我如何解决这个问题,或者在我没有想法的情况下如何解决问题

提前谢谢你

问候,,
Andrei

首先,NotFound错误是一个通用错误,要了解问题的具体情况,您需要使用类似Fiddler的工具(带模拟器:/带设备:)

现在可能是SSL证书有问题了?如果您使用桌面浏览器访问同一个URL,您是否收到有关其有效性的警告/错误?如果是这样的话,你就不走运了,因为我认为你不能像桌面上的fwk那样覆盖Windows Phone上的证书验证


但是,首先尝试使用Fiddler进行调试,以获得一些详细信息。

我已经使用了Fiddler(Wireshark),并且我注意到已经建立了连接,但实际的请求不是从设备发送的。这是非常奇怪的,因为相同的代码在大约2个月内工作正常,但突然停止工作(对于我和我的应用程序的其他用户)-这没有任何更改。你安装了Fiddler SSL证书吗?您看到的请求是HTTP握手,而不是实际的HTTPS请求。在设备/模拟器上,打开浏览器,访问并单击“安装证书”链接。在那之后,你应该可以得到te的详细信息。嗨,很抱歉我的回复耽搁了。我在模拟器上安装了Fiddler证书,对的调用开始工作。然而,我在我的公共应用程序中对Delicious API的调用仍然失败,并显示相同的消息…在Fiddler中,您没有看到有关错误的更多详细信息?您是否找到了解决此问题的方法@AndreiC我遇到了相同的问题。。。。如果可以,请提供任何帮助