美文网首页
网络适配-Https

网络适配-Https

作者: 小木___Boy | 来源:发表于2015-12-14 17:30 被阅读93次

    1、HTTP请求失败
    解决了编译问题后,程序跑起来了,却发现很多网络请求失败。这是因为iOS9默认不支持HTTP请求,需要改用更安全的HTTPS(默认用TLS 1.2)。
    但事实上,有些地方用HTTP比HTTPS更适合,而且把服务端升级到TLS 1.2也不是一时半会能够搞定的。幸好苹果还提供了配置,使得所有安全性更低的网络请求也能使用,解决方案就是在info.plist里面增加以下配置:

    <key>NSAppTransportSecurity</key>
    <dict>
    <key>NSAllowsArbitraryLoads</key>
    <true/>
    </dict>

    另外需要注意的是,即使写了上述配置,在Https 页面中的HTTP的javascript或css不会被加载,因为苹果认为这降低了页面的安全性。

    如图:


    2、设置域。可以简单理解成,把不支持https协议的接口设置成http的接口。
    具体方法:
    1)、在项目的info.plist中添加一个Key:NSAppTransportSecurity,类型为字典类型。
    2)、然后给它添加一个NSExceptionDomains,类型为字典类型;
    3)、把需要的支持的域添加給NSExceptionDomains。其中域作为Key,类型为字典类型。
    4)、每个域下面需要设置3个属性:NSIncludesSubdomains、NSExceptionRequiresForwardSecrecy、NSExceptionAllowsInsecureHTTPLoads。
    均为Boolean类型,值分别为YES、NO、YES。

    相关文章

      网友评论

          本文标题:网络适配-Https

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