错误 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:未处理的内部错误