iOS 9:一、网络适配-Https

iOS 9把所有的http请求都改为https了:iOS9系统发送的网络请求将统一使用TLS 1.2 SSL。采用TLS 1.2协议,目的是强制增强数据访问安全,而且系统Foundation框架下的相关网络请求,将不再默认使用Http等不安全的网络协议,而默认采用TLS 1.2。服务器因此需要更新,以解析相关数据。如果不更新,可通过在Info.plist中声明,倒退回不安全的网络请求。
解决方案如下:

  • (1)、服务器升级使用TLS 1.2;
  • (2)、在info.plist里面增加如下配置:
<key>NSAppTransportSecurity</key>
<dict>
    <key>NSAllowsArbitraryLoads</key>
    <true/>
</dict>
 如果复杂一些,还可以指定白名单域名,声明所支持TLS的最低版本,这里就不再详细描述了。

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

具体方法:
在项目的info.plist中添加一个key值NSAppTransportSecurity,类型为字典类型。然后给它添加一个Key:NSAllowsArbitraryLoads,类型为Boolean类型,值为YES;
这里写图片描述

  • (3)、设置域。

可以简单理解成,把不支持https协议的接口设置成http的接口,具体方法如下:

  1. 在项目的info.plist中添加一个Key:NSAppTransportSecurity,类型为字典类型。
  2. 然后给它添加一个NSExceptionDomains,类型为字典类型;
  3. 把需要的支持的域添加給NSExceptionDomains。其中域作为Key,类型为字典类型。
  4. 每个域下面需要设置3个属性:NSIncludesSubdomains、NSExceptionRequiresForwardSecrecy、NSExceptionAllowsInsecureHTTPLoads。均为Boolean类型,值分别为YES、NO、YES。
    这里写图片描述

提示:在iOS9中如果使用到网络图片,也要注意网络图片是否是HTTP的,如果是,也要把图片的域设置!!!!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xiaoxiaobukuang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值