我正在为 WP8 开发程序,从 JSON 中检索数据。连接是安全的(网址以 https 开头)。有时它工作正常,但有时我开始收到异常
System.Net.WebException: The remote server returned an error: NotFound.
并且这个异常开始显示所有对所有 https URL 的请求。对于 http URL,一切正常。网址没问题,在模拟器上用IE打开。我认为,证书可能存在问题,但为什么有时会起作用?
public static void SendRequest(string requestUrl, Action<Stream, Exception> callback)
{
var targetUri = new Uri(requestUrl);
var request = (HttpWebRequest)WebRequest.Create(targetUri);
request.Method = "POST";
request.BeginGetResponse(ar => ProcessResponse(ar, callback), request);
}
public static void ProcessResponse(IAsyncResult callbackResult, Action<Stream, Exception> callback)
{
try
{
var myRequest = (HttpWebRequest)callbackResult.AsyncState;
var myResponse = (HttpWebResponse)myRequest.EndGetResponse(callbackResult);
callback(myResponse.GetResponseStream(), null);
myResponse.Close();
}
catch (Exception e)
{
callback(Stream.Null, e);
Debug.WriteLine("Error in RequestHelper.ProcessResponse\nErrorMessage - " + e.Message);
}
}
更新:问题肯定出在 SSL 证书中。当我尝试在 WebBrowser 控件上打开网页时,我收到一条消息 - “我们在使用此站点的安全证书时遇到问题。”。我点击了“继续访问网站”,但没有任何改变。该页面仍然可以通过 IE 在模拟器上打开。我尝试安装证书(从站点导出,并使用 IE 下载。我收到消息,该证书已成功添加。但我在 WebBrowser 控件上仍然有错误消息。有没有办法安装证书?还是不检查它的有效性?