使用 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 调用发送凭据。

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

有谁知道我如何解决这个问题或任何解决方法,因为我没有想法了。

提前谢谢你!

问候安德烈

使用 Web 客户端调用 HTTPS URL 的异常

首先,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 进行调试以获取一些详细信息。