美文网首页
HTTP访问info.plist设置相关

HTTP访问info.plist设置相关

作者: Lucus_Linx | 来源:发表于2017-08-24 15:19 被阅读402次

参考文章:http://blog.csdn.net/u012947646/article/details/51915985
http://www.csdn.net/article/2015-09-11/2825675

一、访问Http,info.plist操作

开发者可以在App的Info.plist中添加NSAppTransportSecurity的相关配置,用以禁用ATS或者添加白名单,可用的配置参数如下:

  • NSAllowsArbitraryLoads - 设置true即支持所有HTTP请求
  • NSExceptionDomains - 添加白名单
  • NSExceptionMinimumTLSVersion - 白名单指定域名支持的TLS版本
  • NSExceptionRequiresForwardSecrecy - 白名单指定域名是否支持- Forward Secrecy
  • NSExceptionAllowsInsecureHTTPLoads - 白名单指定域名禁用ATS
  • NSThirdPartyExceptionMinimumTLSVersion - 白名单指定第三方服务域名最低支持的TLS版本
  • NSThirdPartyExceptionRequiresForwardSecrecy - 白名单指定第三方服务域名是否支持Forward Secrecy
  • NSThirdPartyExceptionAllowsInsecureHTTPLoads - 白名单指定第三方域名禁用ATS

举个例子:

禁用所有连接使用ATS

在Info.plist中配置禁用ATS:

<key>NSAppTransportSecurity</key>  
  <dict>  
      <key>NSAllowsArbitrary</key>  
      <true/>  
  </dict>  

指定域名禁用ATS

在Info.plist中配置App的服务域名mine.test.com支持HTTP:

<key>NSAppTransportSecurity</key>  
  <dict>  
      <key>NSExceptionDomains</key>  
      <dict>  
          <key>mine.test.com</key>  
          <dict>  
              <key>NSExceptionAllowsInsecureHTTPLoads</key>  
              <false/>  
          </dict>  
      </dict>  
  </dict>  

指定域名修改ATS安全要求

在Info.plist中配置第三方服务third.test.com的TLS1.1及禁用Forward Secrecy:

<key>NSAppTransportSecurity</key>  
  <dict>  
      <key>NSExceptionDomains</key>  
      <dict>  
          <key>mime.test.com</key>  
          <dict>  
              <key>NSExceptionAllowsInsecureHTTPLoads</key>  
              <false/>  
          </dict>  
          <key>third.test.com</key>  
          <dict>  
              <key>NSThirdPartyExceptionMinimumTLSVersion</key>  
              <string>1.1<string/>  
              <key>NSThirdPartyExceptionRequiresForwardSecrecy</key>  
              <false/>  
          </dict>  
      </dict>  
  </dict>  

二、iOS10 AFN能访问https不能访问http问题

出错原理:

NSAllowsArbitraryLoadsNSAllowsArbitraryLoadsInWebContent 同时存在时,根据系统不同,表现的行为也会不一样。简单说,iOS 9 只看 NSAllowsArbitraryLoads,而 iOS 10 会先看 NSAllowsArbitraryLoadsInWebContent
在 iOS 10 中,要是** NSAllowsArbitraryLoadsInWebContent** 存在的话,就忽略掉 NSAllowsArbitraryLoads,如果它不存在,则遵循 NSAllowsArbitraryLoads 的设定。

对比1 对比2

相关文章

  • HTTP访问info.plist设置相关

    参考文章:http://blog.csdn.net/u012947646/article/details/5191...

  • iOS http&https

    iOS 9 限制 http 协议的访问,如果 App 需要访问 http://, 则需要在Info.plist 添...

  • info.plist相关设置

    网络设置 iOS9引入了新特性App Transport Security (ATS)。详情:App Transp...

  • iOS AFNetworking

    http请求 ios10之后访问http请求需要在info.plist中加入字段 AFNetworking结构分析...

  • nginx反向代理

    代理设置 把访问 http://127.0.0.1的请求转发到 http://127.0.0.1:8080 把访问...

  • 配置代理服务器

    如果是在公司环境中使用 JHipster,有可能需要设置相关工具来通过代理服务器访问网络。 可以设置 HTTP_P...

  • iOS开发常用操作

    1.xcode启用http访问,iOS9以上在info.plist添加rowApp Transport Secur...

  • iOS 系统方法

    在飞行模式下,自动提示关闭飞行模式,或者启用wifi访问网络,在info.plist文件中设置 :UIRequir...

  • 蓝牙后台运行

    设置info.plist 在info.plist文件中设置Required background modes添加A...

  • iOS配置info.plist访问隐私权限

    在这里记录下载info.plist中配置访问权限,供以后查找 定位相关权限配置KeyTypevalueNSLoca...

网友评论

      本文标题:HTTP访问info.plist设置相关

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