美文网首页
UIWebView 如何加载自签名HTTPS网站

UIWebView 如何加载自签名HTTPS网站

作者: 郭桥生 | 来源:发表于2018-07-02 12:33 被阅读0次

    这几天公司app开发后期阶段,爆出来好多关于网络的问题,比如服务器不是HTTPS、iOS10上面轮播图播不出来、自签名HTTPS网页加载失败的情况(新浪支付,没错就是新浪支付),为了解决这个问题搜集了好多资料所以想一一列出来,做个笔记


    1 、HTTPS图片加载不出来

    项目里面使用的是SDWebImage,其实SDWebImage里面有方法进行适配了

    调用下面方法,options参数可以设置为SDWebImageAllowInvalidSSLCertificates

    options参数可以配置

    2、自签名UIWebView加载不出来

    iOS的ATS规则网上有很多详细的资料,你可以随心所欲的设置:完全禁用ATS、部分禁用ATS、部分使用ATS、完全使用ATS...

     但是我设置了禁用ATS之后发现UIWebView仍然会显示加载失败并且报错

         NSURLSession/NSURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -9802);

    搜了好多资料,大概有几种解决方案 [私有API, NSURLConnection , NSURLSession]

    前两种就不说了,网上资料有很多,我也是都一一试过了,能用但是有问题

     私有API会被拒,NSURLConnection又已经被弃用

    所以去搜了一下如何用NSURLSession信任网站的证书,搜出来的资料好像并不是很多也不全,所以只好科学上网查了查资料

     用法也好简单

    加载之前走一遍证书信任 在这个代理方法里面信任证书

    和NSURLConnection使用步骤是一样的,只不过一个代理方法搞定,我是在代理方法回掉之后延迟了一小会儿执行重新加载步骤的,暂时不太确定有没有问题,如果有更合适的位置做操作,请帮忙纠正


    更新问题:证书明明支持了TLS1.2但是在运行时却报错的问题  ->  时间设置 时间设置 时间设置

    重要的事情说三遍!

    最后贴出来资料的链接

    iOS ATS 适配、 NSURLSession认证证书

    相关文章

      网友评论

          本文标题:UIWebView 如何加载自签名HTTPS网站

          本文链接:https://www.haomeiwen.com/subject/hlnkuftx.html