使用UIWebView加载带有签名认证的https网页(html)时,发生以下报错
MOffice[5807:483806] TIC SSL Trust Error [4:0x157051790]: 3:0
2019-03-11 15:43:07.990322+0800 MOffice[5807:483806] NSURLSession/NSURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -9813)
2019-03-11 15:43:07.990726+0800 MOffice[5807:483806] Task <9939A644-0800-4FB4-A9B1-DA86396A1DBC>.<0> HTTP load failed (error code: -1202 [3:-9813])
2019-03-11 15:43:07.991399+0800 MOffice[5807:483714] NSURLConnection finished
原因:使用webview加载自签名https站点的时候,必须在请求的时候将该站点设置为安全的,才能继续访问。
由于服务器没有真正的签名证书,所以此时需要UIWebView 访问https绕过证书的验证。
具体方法:创建一个NSURLRequest的分类(Category)即可
@interface NSURLRequest (IgnoreSSL)
+(BOOL)allowsAnyHTTPSCertificateForHost:(NSString*)host;
@end
@implementation NSURLRequest (IgnoreSSL)
+(BOOL)allowsAnyHTTPSCertificateForHost:(NSString*)host {return YES;}
@end
网友评论