UIWebView和WKWebView在加载HTTPS时Domain=NSURLErrorDomain Code=-999错误

此问题会导致UIWebView的:

- (void)webViewDidFinishLoad:(UIWebView *)webView

以及WKWebView的

- (void)webView:(WKWebView *)webView didFinishNavigation:(null_unspecified WKNavigation *)navigation

两个代理方法不运行。

并且会在下面两个代理方法中显示 error:-999错误

//UIWebView加载失败的代理方法

- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error

{

         // 如果是被取消,什么也不干

         if([error code] == NSURLErrorCancelled)  {

         return;

        }

}

//WKWebView加载失败的代理方法

- (void)webView:(WKWebView *)webView didFailNavigation:(null_unspecified WKNavigation *)navigation withError:(NSError *)error

{

        // 如果是被取消,什么也不干

        if([error code] == NSURLErrorCancelled)  {

        return;

        }

}

原因:

在配置过程中的问题:1.证书和代码都搞定后,请求接口返回code-999这个意思是请求取消,最后确定是证书问题。

注意:ssl证书域名里的一个通配符只能使用一级域名,多级域名要使用多个通配符(这个就是上面的问题)。

比如https://ddy.text.com这个是一级域名,https://ddy.api.text.com则是二级域名,如果设置的支持域名是:*.ddy.com则就是一级域名可以验证成功。

解决办法:

1.在花一千块钱多买一个通配符的使用权限(不划算啊);

2.利用域名映射就可以解决啦。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容