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

原创 2016年06月01日 23:47:46

在IOS中,使用自签名证书或者没有达到苹果要求的证书时,需要在INFO.LIST中加入字段
在XCODE中使用sorce code的方式直接编辑加入如下内容

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

加了以上内容后,如果使用自签名的证书,会提示如下内容
The certificate for this server is invalid. You might be connecting to a server that is pretending to be “xxxxx.com.cn” which could put your confidential information at risk.
NSURLSession需要设置代理NSURLSessionDelegate
控制器要实现如下方法

@interface ViewController ()<NSURLSessionDelegate>

@end

@implementation ViewController
- (void)URLSession:(NSURLSession *)session didReceiveChallenge:(nonnull NSURLAuthenticationChallenge *)challenge completionHandler:(nonnull void (^)(NSURLSessionAuthChallengeDisposition, NSURLCredential * _Nullable))completionHandler{
    NSLog(@"%@",challenge.protectionSpace.host);
    NSURLCredential *urlCre = [NSURLCredential credentialForTrust:challenge.protectionSpace.serverTrust];
    completionHandler(NSURLSessionAuthChallengeUseCredential,urlCre);
}
- (void)viewDidLoad {
    [super viewDidLoad];
    NSURLSession *ses = [NSURLSession sessionWithConfiguration:nil delegate:self delegateQueue:[NSOperationQueue currentQueue]] ;
}

最后就可以正常访问HTTPS网址了。

搜了很多文章
http://xinpure.com/nsurlsessionnsurlconnection-http-load-failed-kcfstreamerrordomainssl-9802/
http://stackoverflow.com/questions/30739473/nsurlsession-nsurlconnection-http-load-failed-on-ios-9/30748166#30748166
不能解决问题
最后看了http://stackoverflow.com/questions/23241872/nsurlconnection-cfurlconnection-http-load-failed-kcfstreamerrordomainssl-9813的回答得到了解决方法。
苹果的NSURLSession的编程指南
https://developer.apple.com/library/ios/documentation/Cocoa/Conceptual/URLLoadingSystem/URLLoadingSystem.html#//apple_ref/doc/uid/10000165i

相关文章推荐

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

升级Xcode7以及以上后,出现 NSURLSession/NSURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -9802) 下面有...

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

错误信息: 1.NSURLSession/NSURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -9802) 2.App Trans...
  • pcaxb
  • pcaxb
  • 2016年02月14日 21:28
  • 1596

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

错误:NSURLSession/NSURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -9802)原因:在 iOS9中,在网络通话中AT...

NSURLSession/NSURLConnection HTTP load failed解决办法

NSURLSession/NSURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -9802) 现在变通的做法是将它...

升级Xcode7&iOS9后,出现NSURLSession/NSURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -980)

在info.plist里面添加如下内容即可:NSAppTransportSecurity NSAllowsArbitraryLoads 在图形化界面中显示如下(输入时没有智能提示)...

iOS UIWebView 加载https 站点出现NSURLConnection/CFURLConnection HTTP load failed (kCFStreamErrorDomainSSL,

今天在加载https站点的时候遇到如下的错误问题。所以对自己之前写的iOS内嵌webview做了一些修改,可以让它加载http站点也可以让它加载https站点、 下面是我加载https站点的时候出...

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

遇到此问题的解决办法: 使用中的didReceiveChallenge方法,方法中的代码如下: - (void)URLSession:(NSURLSession *)session didRecei...

AFNetworking访问https出现"NSURLSession/NSURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -9806"

在之前一篇博客中《AFNetworking访问https出现"NSURLSession/NSURLConnection HTTP load failed (kCFStreamErrorDomainSS...

NSURLConnection/CFURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -9813)

https网站需要授权。 解决步骤ru

iOS9中关于 NSURLSession/NSURLConnection HTTP load failed 的解决办法

最近为了新的存管app上线,忙了近一个月,重新过了一段996的日子,今天终于可以喘口气,继续更新博客了。本文记录一下在iOS 9中发送https请求遇到的问题及解决办法,希望通过本文,可以对ATS ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:NSURLSession/NSURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -9802)
举报原因:
原因补充:

(最多只允许输入30个字)