我们有一个iOS应用程序,它使用UIWebView来显示内容。我们用如下代码加载数据:
NSURL *url = [NSURL URLWithString:myURLString];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
[_webView setDelegate:self];
[_webView loadRequest:request];这过去可以很好地处理HTTP请求,但现在我们对具有自签名SSL证书的服务器使用HTTPS。当运行上述操作时,将调用webView:didFailLoadWithError:委托方法,并出现以下错误:
此服务器的证书无效。您可能正在连接到一个假装是“blah.com”的服务器,这可能会使您的机密信息处于危险之中。
我想简单地忽略无效的证书并继续进行请求,就像在Mobile中所做的那样。
我已经了解了如何在使用NSURLConnection时解决这个问题(例如,请参阅老式iPhone3G上的HTTPS请求 ),但是如何处理UIWebView呢?
我设想我可以重新处理代码,以便它使用NSURLConnection发出请求,然后通过调用其loadHTMLString:baseURL:方法将结果放到web视图中,但是当页面有图像、CSS、JavaScript等时,情况会变得复杂。有更简单的方法吗?
发布于 2011-07-22 19:42:27
据我所知,仅靠UIWebView是不可能的。据我所知,您需要使用NSURLConnection来处理所有HTTP/HTTPS,然后通过-loadHtmlString:baseURL:或-loadData:MIMEType:textEncodingName:baseURL:将其结果传递给UIWebView。
https://stackoverflow.com/questions/6792213
复制相似问题