繁体   English   中英

如何在iOS 9中加载HTTPS URL?

[英]How do I load an HTTPS URL in iOS 9?

我需要在info.plist中设置什么设置才能启用HTTPS模式? 我已经把它放在我的枕头里了:

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

但它没有用,我仍然得到这个错误

错误信息:-

2016-02-25 12:46:31.860 Indus Audio [707:13224] NSURLSession / NSURLConnection HTTP加载失败(kCFStreamErrorDomainSSL,-9813)

2016-02-25 14:20:31.119 Indus Audio [817:23670]响应:(null)错误域= NSURLErrorDomain代码= -1202“此服务器的证书无效。您可能正在连接到假装的服务器是“www.indusaudio.com”,可能会使您的机密信息面临风险。“

UserInfo = {NSURLErrorFailingURLPeerTrustErrorKey =,NSLocalizedRecoverySuggestion =你想要连接到服务器吗?,_kCFStreamErrorDomainKey = 3,_kCFStreamErrorCodeKey = -9813,NSErrorPeerCertificateChainKey = {type = immutable,count = 1,values =(0:)},NSUnderlyingError = 0x7f9e58e05cf0 {错误域= kCFErrorDomainCFNetwork代码= -1202“(null)”UserInfo = {_ kCFStreamPropertySSLClientCertificateState = 0,kCFStreamPropertySSLPeerTrust =,_ kCFNetworkCFStreamSSLErrorOriginalValue = -9813,_kCFStreamErrorDomainKey = 3,_kCFStreamErrorCodeKey = -9813,kCFStreamPropertySSLPeerCertificates = {type = immutable,count = 1,values =(0:)}}},

网址: https://www.xxxxx.com/xxx/xxx/files/downloadFile/en/lintohttps://www.xxxxx.com/xxx/xxx/files/downloadFile/en/linto

更新:更好地更新您的服务器以支持SSL和TLSv1.2

仅用于临时使用。 这种方法不是完全可取的:

   <key>NSAppTransportSecurity</key>
<dict>
    <!--Connect to anything. Not advisable. For desperate measures I guess-->
    <key>NSAllowsArbitraryLoads</key>
    <true/>
</dict>

原答案:

iOS 9支持TLSv1.2,请参阅此文档 因此,通过将其更改为TLSv1.1,它会绕过安全性(这不是完全可取的)。 另外,请指定您的url

 <key>NSAppTransportSecurity</key>
<dict>
  <key>NSExceptionDomains</key>
  <dict>
    <key>enterYourUrlHere.com</key>
    <dict>
      <!--Include to allow subdomains-->
      <key>NSIncludesSubdomains</key>
      <true/>
      <!--Include to allow HTTP requests-->
      <key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key>
      <true/>
      <!--Include to specify minimum TLS version-->
      <key>NSTemporaryExceptionMinimumTLSVersion</key>
      <string>TLSv1.1</string>
    </dict>
  </dict>
</dict>

在info.plist文件中添加App Transport Security设置 ,并将Allow Arbitrary Loads项设置为YES。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM