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

3

我希望在Web视图中加载我的URL,但是出现错误,类似于NSURLSession/NSURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -9813)

这里是我编写的代码:

NSString *urlAddress = @"https://anyror.gujarat.gov.in/";
NSURL *url = [NSURL URLWithString:urlAddress];
NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];
[self.revenueWeb loadRequest:requestObj];

我在谷歌上搜索了相关的解决方案,发现可以通过添加以下代码到 info.plist 文件中来解决问题。

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

我将这段代码加入了我的info.plist文件,但它没有起作用。


查看[这些搜索结果](http://stackoverflow.com/search?q=%5Bios%5D+kCFStreamErrorDomainSSL+%27-9813%27+nsurlrequest),似乎与证书有关,而不是ATS。 - rmaddy
这个答案可能会对你的问题有所帮助:https://dev59.com/EnE95IYBdhLWcg3wp_kg#20047835 - Tri Nguyen
1个回答

1
我在OS X v10.9上使用Safari也无法查看该网站,会出现证书警告。"openssl s_client"也是如此。
错误9813是"errSSLNoRootCert"。这表示无法将证书链验证回已知的锚点。通常这意味着服务器配置不正确,并且未提供完整的中间证书集合,介于其证书和受信任的根证书之间。
有关更多信息,请参见 Technote 2232

这很有帮助,但我认为它并没有真正回答原始问题。 - Tri Nguyen
我看到了你在模拟器中提供关于Charles代理的信息链接。那可能是原帖作者遇到的问题,但前提是原帖作者试图使用HTTPS代理来调试网络问题(而帖子中并未表明)。很有可能是服务器配置错误,可能缺少中间证书或被不受iOS信任的根证书签名颁发机构签署。 - dgatwood

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接