我正在使用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
}
})
在网上搜索后,我在NSTransportSecuritySetting -> AllowArbitaryLoads
中将info.plist
添加到了YES。但仍然得到这个错误
有什么帮助吗?
答案 0 :(得分:0)
尝试这可能有效,因为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>
iOS 9要求您计划从中请求数据的所有主机使用TLSv1.2 SSL,除非您在应用的Info.plist文件中指定了例外域。