我们有一个使用UIWebView来显示内容的iOS应用程序。我们加载它与代码看起来像这样的数据:使用UIWebView忽略无效的服务器证书
NSURL *url = [NSURL URLWithString:myURLString];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
[_webView setDelegate:self];
[_webView loadRequest:request];
过去,这很好地工作的HTTP请求,但现在我们正在使用HTTPS对使用自签名的SSL证书的服务器。当以上运行时,webView:didFailLoadWithError:
委托方法被调用,这个错误:
The certificate for this server is invalid. You might be connecting to a server that is pretending to be "blah.blah.blah.com" which could put your confidential information at risk."
我想简单地忽略无效的证书,并请求去,因为一个在移动Safari浏览器做。
我已经看到在使用NSURLConnection
(例如参见HTTPS request on old iphone 3g)时如何解决此问题,但如何处理UIWebView
?
我想,以便它使用NSURLConnection
做出请求,然后通过调用其loadHTMLString:baseURL:
方法把结果放到Web视图我可以返工的代码,但是会变得复杂,当页面有图像,CSS, JavaScript等等。有更容易的方法吗?
此方法的使用会让您的应用程序被AppStore拒绝。 – Franklin
这是完美的使用自签名本地主机证书。我用'#if DEBUG'把它全部包围起来,以免被拒绝。 – bendytree