错误 kCFStreamErrorDomainSSL 与 Alamofire

Posted

技术标签:

【中文标题】错误 kCFStreamErrorDomainSSL 与 Alamofire【英文标题】:Error kCFStreamErrorDomainSSL with Alamofire 【发布时间】:2018-02-22 07:55:44 【问题描述】:

我正在使用 Alamofire 向服务器发送请求,但出现以下错误:

NSURLSession/NSURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -9802)

我的代码来打 api

dispatch_async(dispatch_get_main_queue(),  () -> Void in


        let manager = Alamofire.Manager.sharedInstance

        manager.session.configuration.timeoutIntervalForResource = 60

        Alamofire.request(.POST, path, parameters:self.dataDict,encoding: .JSON, headers:headers).responseJSON  (responseData) -> Void in
          if((responseData.result.value) != nil) 
               //code
            
         )

在网上搜索后,我在info.plist中添加了NSTransportSecuritySetting -> AllowArbitaryLoads到YES。但仍然出现此错误。 有什么帮助吗?

【问题讨论】:

在设备上工作? 分享您的代码以便更好地理解,没有代码我们无法帮助您 ios9要求服务器只支持TLSv1.2。 使用模拟器... 【参考方案1】:

试试这个可能是可行的,因为 iOS9 要求服务器只支持 TLSv1.2。

添加 Info.plist 配置的语法如下所示:

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

除非您在应用的 Info.plist 文件中指定例外域,否则 iOS 9 要求您计划从中请求数据的所有主机都使用 TLSv1.2 SSL。

【讨论】:

以上是关于错误 kCFStreamErrorDomainSSL 与 Alamofire的主要内容,如果未能解决你的问题,请参考以下文章

Pig 安装错误:错误 pig.Main:错误 2998:未处理的内部错误

Informix 错误:发生了语法错误。错误代码:-201

我收到一个错误:“MetaMask - RPC 错误:错误:错误:[ethjs-rpc] rpc 错误与有效负载”

错误精灵错误跟踪器错误

网页打开显示错误500是啥意思

PHP错误处理