iOS 9中的HTTPS请求:NSURLSession / NSURLConnection HTTP加载失败(kCFStreamErrorDomainSSL,-9802)

我正在更新我的应用程序以适应苹果的新 ATS.没有对Plist-Info的任何更改,以下代码在vanilla iOS 9模拟器中的sendSynchronousRequest()中引发错误.
NSURL *url  =[NSURL URLWithString:@"https://Google.com"];
NSMutableURLRequest *request = [[NSMutableURLRequest alloc]init];
[request setHTTPMethod:@"GET"];
[request setURL:url];

NSURLResponse *urlResponse = nil;
NSError *error = nil;    
NSData *reponse = [NSURLConnection sendSynchronousRequest:request
                                        returningResponse:&urlResponse
                                                    error:&error];

错误:

NSURLSession / NSURLConnection HTTP加载失败(kCFStreamErrorDomainSSL,-9802)

对这个问题可能背后有什么想法?

Ps:据了解,NSURLConnection已被弃用.但是,如果我在Plist中添加了AllowArbitraryLoads,那么这个调用可以找到.

解决方法

NSURLSession / NSURLConnection HTTP加载失败(kCFStreamErrorDomainSSL,-9802)
对应于服务器不支持“Forward Secrecy”.

要解决此问题,请将域异常添加到.plist文件中,如下所示:

<key>NSAppTransportSecurity</key>
<dict>
  <key>NSExceptionDomains</key>
  <dict>
    <key>test.testdomain.com</key>
    <dict>
      <key>NSIncludesSubdomains</key>
      <true/>
      <key>NSTemporaryExceptionRequiresForwardSecrecy</key>
      <false/>
    </dict>

以上是来客网为你收集整理的iOS 9中的HTTPS请求:NSURLSession / NSURLConnection HTTP加载失败(kCFStreamErrorDomainSSL,-9802)全部内容,希望文章能够帮你解决iOS 9中的HTTPS请求:NSURLSession / NSURLConnection HTTP加载失败(kCFStreamErrorDomainSSL,-9802)所遇到的程序开发问题。

如果觉得来客网网站内容还不错,欢迎将来客网网站推荐给程序员好友。