iOS - webView加载https
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS - webView加载https相关的知识,希望对你有一定的参考价值。
参考技术A APP项目中,嵌入了几个h5页面,页面中包含了使用【WebViewjavascriptBridge】与h5页面的交互,之前一切正常。最近,项目的h5页面经过了SSL证书加密,变成了https请求,页面中数据不能正常加载了。页面布局可以正常展示,数据请求失败,如下:
加密之后,ios及安卓都出现了上述问题,安卓端经过处理后,可以正常展示(询问过后,是安卓端在webView页面做了允许http及https混合加载处理,便可正常展示了)
由于安卓端处理好了,我这边便以为是iOS端内部的问题,于是开始在网上搜索【UIWebView/WKWebView加载https】的相关文章。
网上给出了很多种解决方法,针对的问题大多都是【由于服务器证书无效,即证书不受信任】,几种解决问题的方法如下:
使用此方法后,问题未解决,继续找...
解决方法:
使用上述方法,问题未解决,继续...
依然未解决,继续...
创建AFHTTPSessionManager的类别:
依然,无效...
1.经过多种方法尝试,依然未解决问题,只好在QQ群中求助。
大神果然是大神,一语中的:
2.在网上看到一篇文章,发给后端看:
于是后端改了请求头,但...依然不行
3.通过在Safari浏览器中调试后,终于发现了问题所在:
(如何在浏览器中向h5页面传参,下篇见)
4.把报错信息及发给后端看,发现是h5页面中的接口,是http而非https,于是后端做了修改,接口改为https,又出现如下错误:
5.接口改为https后,依然不行,在浏览器中打开接口链接,提示证书无效:
经后端的一顿操作后,证书可以了,但依然报请求头的问题,效果如下:
6.还记得在刚开始的时候,后端修改请求头的事情吗?
没错,就是那个导致了现在的局面,待后端把请求头改回去后,完美解决:
忙活了一周,结果发现是后端的问题,好在最终完美解决了~
以上是关于iOS - webView加载https的主要内容,如果未能解决你的问题,请参考以下文章