首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在带有Xcode 7.1的iOS 9中,NSURLSession/NSURLConnection HTTP加载失败(kCFStreamErrorDomainSSL,-9813)

在带有Xcode 7.1的iOS 9中,NSURLSession/NSURLConnection HTTP加载失败(kCFStreamErrorDomainSSL,-9813)是由于SSL证书验证失败导致的错误。这个错误通常发生在使用HTTPS协议进行网络请求时,服务器的SSL证书无法通过验证。

SSL证书用于验证服务器的身份和确保通信的安全性。当iOS设备发起HTTPS请求时,会检查服务器返回的SSL证书是否有效。如果证书无效,iOS会拒绝建立连接并抛出上述错误。

解决这个问题的方法有以下几种:

  1. 检查证书有效性:首先,确保服务器的SSL证书是有效的。可以通过浏览器访问服务器的网站,检查是否存在证书错误或警告。如果证书无效,需要重新配置服务器的SSL证书。
  2. 更新根证书:iOS设备内置了一组根证书,用于验证服务器的SSL证书。如果服务器的SSL证书由于过期或使用了不受信任的颁发机构而无法通过验证,可以尝试更新iOS设备的根证书。可以通过更新iOS系统或手动安装根证书来解决问题。
  3. 忽略证书验证:在开发阶段,为了方便调试,可以选择忽略证书验证。但在生产环境中,不建议这样做,因为这会降低通信的安全性。在NSURLSession/NSURLConnection的相关API中,可以设置忽略证书验证的选项。
  4. 使用合法的SSL证书:如果服务器的SSL证书无法通过验证,可以考虑使用经过认证的SSL证书。腾讯云提供了SSL证书服务,可以购买并配置合法的SSL证书,以确保通信的安全性。

腾讯云相关产品和产品介绍链接地址:

  • SSL证书服务:https://cloud.tencent.com/product/ssl
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

iOS开发·网络请求方法总结复习(NSURLConnectionNSURLSession,AFNetworking)

前言 iOS开发中网络下载方式包括NSData(最原始,实际开发基本不会用),NSURLConnection(古老又过气苹果原生网络框架),NSURLSession(现在流行苹果网络框架),AFNetworking...NSURLConnection作为过气框架,作为对比了解一下还是有必要NSURLSession作为众多网络相关第三方框架基于苹果原生框架,更是有必要学习总结一下。...NSURLConnection发送异步Get请求,并实现相应代理方法,该方法iOS9.0之后废除了。...现在苹果原生网络框架 -- NSURLSession iOS9.0之后,以前使用NSURLConnection过期,苹果推荐使用NSURLSession来替换NSURLConnection完成网路请求相关操作...HTTPS与HTTP不同点 前面涉及到GET和POST都属于HTTP请求,现在苹果APP都推荐支持HTTPS,这就需要先配置一下证书,然后NSURLSession(或者NSURLConnection

3.4K30
  • iOS开发】canOpenURL: failed for URL

    控制台输出 如图是我启动一个 Xcode 7 + iOS 9 App 之后,控制台输出。...这在 Xcode 6.4 + iOS 8 时,是不会有的情况,原因是【为了强制增强数据访问安全, iOS9 默认会把所有从NSURLConnection 、 CFURL 、 NSURLSession发出...HTTP 请求,都改为 HTTPS 请求:iOS9.x-SDK编译时,默认会让所有从NSURLConnection 、 CFURL 、 NSURLSession发出 HTTP 请求统一采用 TLS... Array,把你xxxx部分看到词汇一个一个填进去,直至控制台没有任何相关输出即可。...HTTPS,所以在你需要访问 HTTP 时, 虽 Apple 不建议,但可通过 Info.plist 中声明如上图所示内容,倒退回不安全网络请求,这样依然能让 App 访问指定 HTTP,甚至任意

    1.3K20

    NSURLSessionNSURLConnection区别

    使用现状 NSURLSessionNSURLConnection替代者,2013年苹果全球开发者大会上(WWDC2013)随iOS7一起发布,是对NSURLConnection进行了重构优化后网络接口...从iOS9开始,NSURLConnection中发送请求两个方法已经过期(同步请求,异步请求),初始化网络连接方法也被设置为过期,系统不再推荐使用,建议使用NSURLSession发送网络请求。...NSURLConnection不能进行这个配置,相比较与NSURLConnection依赖与一个全局配置对象,缺乏灵活性而言,NSURLSession有很大改进了。...版本会话 */ @property SSLProtocol TLSMaximumSupportedProtocol; /* 它可以被用于开启HTTP管道,这可以显着降低请求加载时间,但是由于没有被服务器广泛支持...具体代理方法如下: //创建有代理session - (void)sessionDataDelegate {     // 创建带有代理方法自定义 session     NSURLSession

    1.5K60

    iOS基础问答面试题连载(三)-附答案

    40.使用NSURLSession发送网络请求时候,最多可以建立多少个TCP连接? iOS中最多可以建立4个连接,OSX中默认最多可以建立6个连接。...OS X, or 4 in iOS 说明: 由于HTTP/1.1 不支持多路复用,因此如果要处理多个网络请求,处理HTTP请求时候 多数浏览器厂商都是不假思索就在客户端排队所有的HTTP请求,然后通过一个持久连接...XML文档有两种解析模式,一种是SAX(从根元素开发一个接着一个解析),一种是DOM(将整个XML文档加载进内存解析) iOS开发中常用XML解析方法有两种,一种是使用苹果原生NSXMLParser...49.XCode中如何配置以MRC方式来编译处理某个类?...NSURLSession 56.如果服务器返回数据不是JSON数据,那么使用AFN发送网络请求时候会请求失败请问是什么原因产生

    85650

    深入理解HTTPS及iOS系统中适配HTTPS类型网络请求(上)

    HTTP类型网络传输使用十分方便,但是其安全性上却有很大问题,列举如下: 1.HTTP协议传输数据时是明文,任何人通过一个简单抓包工具,就可以截获到所有传输数据。...2.HTTP协议传输数据时无法保证数据完整,截获到明文数据后,很容易就可以将其篡改,这也是一些网页总是被植入恶意广告原因。 3.HTTP协议传输数据时无法保证真实性,这也是最恐怖一点。...AppleiOS9中就已经漏出一些强制HTTPS通讯端倪,只是给了开发者一些过渡,iOS10及以后审核机制中,Apple对于强制HTTPS推动将会越来越强,如何让自己应用程序尽快适配HTTPS...提示为: NSURLSession/NSURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -9802) 好了,那么我们先不管HTTPS问题...因此,iOS中适配自签名证书HTTPS请求实际上就是将这个自签名证书安装进客户端信任列表。

    1.8K60

    iOS-网络编程(二)文件上传和断点离线下载

    一. iOS中发送HTTP请求方案 iOS中,我们常用发送HTTP请求方案有 苹果原生(自带) NSURLConnection:用法简单,最古老最经典最直接一种方案 (iOS 9.0弃用)...NSURLConnection (已弃用) 虽然NSURLConnection已经被弃用,但是我们还是要了解NSURLConnection用法,便于我们之后更好理解NSURLSession。...//03.结尾标识 --分隔符-- 关于文件上传NSURLConnectionNSURLSession 上传方式差不多,我们NSURLSession中在做详细介绍。...会话初始化时复制它们配置,NSURLSession有一个只读配置属性,使得该配置对象上变化对这个会话无效。配置初始化时被读取一次,之后都是不会变化。...resetWithCompletionHandler:^{ // 释放时做操作 }]; } 关于网络请求基本知识可以查看iOS-网络编程(一)HTTP协议 ✨本文借鉴了很多前辈文章

    2.4K80

    iOS网络--『文件下载、断点下载』实现(一):NSURLConnection

    文件下载、断点下载』实现(二):NSURLSession iOS网络--『文件下载、断点下载』实现(三):AFNetworking 1....文件下载简介 iOS开发过程中,我们经常会遇到文件下载需求,比如说图片下载、音乐下载、视频下载,还有其他文件资源下载等等。 下面我们就把文件下载相关方法和知识点总结一下。...1.1.2 按实现方法划分 如果按照开发中使用到下载方法的话,我们可以使用NSData、NSURLConnectioniOS9.0之后舍弃)、NSURLSession(推荐),以及使用第三方框架AFNetworking....jpg"]; // 使用NSURLConnection发送异步GET请求,该方法iOS9.0之后就废除了(推荐使用NSURLSession) [NSURLConnection sendAsynchronousRequest...mp4"]; // 使用NSURLConnection发送异步GET请求,并实现相应代理方法,该方法iOS9.0之后废除了(推荐使用NSURLSession)。

    1.9K50

    iOS 中 HTTPS 证书验证浅析

    无法找到锚点证书(即在证书链顶端没有找到合法根证书) 访问serverdns地址和证书中地址不同 三、iOS实现支持HTTPS OC中当使用NSURLConnectionNSURLSession...此时NSURLConnectionNSURLSession会接收到服务器需要授权响应,当客户端授权通过后,才能继续从服务器获取数据。...如下图所示: 针对非自签名证书验证实现 接收到服务器返回状态码为401响应后,对于NSURLSession而言,需要代理对象实现URLSession:task:didReceiveChallenge...对于NSURLConnection而言,需要代理对象实现connection:willSendRequestForAuthenticationChallenge: 方法(OS X v10.7和iOS5及以上...基于服务器响应认证类型,URL加载类可能会多次调用代理方法。

    2.3K30

    iOS安全测试—网络通讯安全

    HTTPS 安全 iOS 应用程序中,使用 HTTPS 进行通信是一种更为安全做法,也是官方所推荐做法。但是即使使用了 HTTPS,也有可能因为没有校验服务器证书原因导致被中间人劫持。...上网络请求基本分为三类, NSURLConnection NSURLSession CFNetWork NSURLConnection NSURLConnection 是 2003 年 iOS 2.0...NSURLSession 2013 年 WWDC 大会上,iOS 7.0 推出了 NSURLSession,对 Foundation URL 加载系统进行了彻底重构,提供了更丰富 API来处理网络请求...,如:支持 http2.0 协议、直接把数据下载到磁盘、同一 session 发送多个请求、下载时多线程异步处理和提供全局 session并可以统一配置等等,提高了 NSURLSession 易用性...平时工作中,GET 跟 POST 是我们用比较多请求方式,而CONNECT 是 HTTP/1.1 协议中,HTTP/1.0 定义了三种请求方法: GET, POST 和 HEAD方法,HTTP/1.1

    1.3K20

    Objective-C网络请求开发高效实现方法与技巧

    Objective-C网络请求开发高效实现方法与技巧前言移动应用开发中,网络请求是一项至关重要技术。Objective-C作为iOS平台主要开发语言之一,拥有丰富网络请求开发工具和技术。...3成熟开发生态:Objective-C语言iOS平台上拥有成熟开发生态,有大量开源库和工具可供开发者使用,可以快速地实现各种功能和需求。2....MKNetworkKit中,可以通过completionHandler和errorHandler来分别处理请求成功和失败情况。...假设我们需要从一个网站上爬取新闻文章内容,并将其展示我们应用中。我们可以利用Objective-C语言编写一个爬虫程序,通过网络请求获取网站上新闻文章内容,然后解析并展示应用界面上。...完整示例NSURL *url = [NSURL URLWithString:@"http://www.example.com/news"];NSURLSession *session = [NSURLSession

    18910

    Objective-C网络请求开发高效实现方法与技巧

    前言 移动应用开发中,网络请求是一项至关重要技术。Objective-C作为iOS平台主要开发语言之一,拥有丰富网络请求开发工具和技术。...成熟开发生态:Objective-C语言iOS平台上拥有成熟开发生态,有大量开源库和工具可供开发者使用,可以快速地实现各种功能和需求。 2....MKNetworkKit中,可以通过completionHandler和errorHandler来分别处理请求成功和失败情况。...假设我们需要从一个网站上爬取新闻文章内容,并将其展示我们应用中。我们可以利用Objective-C语言编写一个爬虫程序,通过网络请求获取网站上新闻文章内容,然后解析并展示应用界面上。...完整示例 NSURL *url = [NSURL URLWithString:@"http://www.example.com/news"]; NSURLSession *session = [NSURLSession

    9910

    iOS 中 HTTPS 证书验证浅析

    导语 WWDC 16 中,Apple 表示, 从 2017年1月1日起(最新消息, 实施时间已延期),所有新提交 App 使用系统组件进行 HTTP 网络请求都需要是 HTTPS 加密,否则会导致请求失败而无法通过审核...正文 本文目的:一是简要分析下对服务器身份验证完整握手过程,二是证书链验证,三是探索下iOS中原生库NSURLConnectionNSURLSession如何支持实现https。...无法找到锚点证书(即在证书链顶端没有找到合法根证书) 访问serverdns地址和证书中地址不同 三、iOS实现支持HTTPS OC中当使用NSURLConnectionNSURLSession...此时NSURLConnectionNSURLSession会接收到服务器需要授权响应,当客户端授权通过后,才能继续从服务器获取数据。如下图所示: ?...基于服务器响应认证类型,URL加载类可能会多次调用代理方法。

    4.1K90

    Swift学习第二练——Swift项目时光电影

    Swift学习第二练——Swift项目时光电影     很早以前一个OC练习项目,用swift重新写了一遍,因为xcode版本更新对swift兼容度也不断改变,此版本适用于xcode6.1。...这个项目中,用swift将iOS官方SDK中HTTP进行了封装,使用了swift编写异步加载网络图片方法。练习了用swift操作界面布局,跳转界面等方法。     ...下面是封装下载类核心代码: private var httpConnection:NSURLConnection?...httpConnection=NSURLConnection(request: request, delegate: self)              }     //重写协议中方法     func...("加载失败")         println(error)         self.isDownloadSuccess=false         ZYHHttpRequestManager.sharedHttpRequestManager

    38050

    iOS网络编程之三——NSURLConnection简单使用

    iOS网络编程之三——NSURLConnection简单使用 一、引言     iOS7后,NSURLSession基本代替了NSURLConnection进行网络开发,iOS9后,NSURLConnection...相关方法被完全弃用,iOS系统有向下兼容特性,尽管NSURLConnection已经被弃用,但在开发中,其方法依然可以被使用,并且如果需要兼容到很低版本iOS系统,有时就必须使用NSURLConnection...使用如下方法进行NSURLConnection同步请求:     NSURL * url = [NSURL URLWithString:@"http://www.baidu.com"];     NSURLRequest...三、使用NSURLConnection进行异步请求         使用同步方式进行请求有一个很大弊端,进行网络请求时,数据返回往往需要一定时间,不可能瞬间完成,使用同步方式将导致界面卡死,没有提示也不能交互任何用户操作...1.使用block方式进行异步请求         使用如下代码进行block方式异步请求,block中会传入请求到返回数据和数据信息等参数:     NSURL * url = [NSURL

    65310

    iOS网络编程之二——NSURLSession简单使用

    iOS网络编程之二——NSURLSession简单使用 一、NSURLSession简介     iOS7之后,NSURLSession作为系统推荐使用HTTP请求框架,进行前台请求情况下,...NSURLSessionNSURLConnection并无太大差异,对于后台请求,NSURLSession更加灵活优势就将展现无遗。         ...2.NSURLSession任务类型         NSURLSession中添加请求任务支持3中类型:         数据任务:使用NSData对象进行数据发送和获取,一般用于短数据任务...相关代理方法将不再被回调,但是下载任务依然进行,当后台下载完成后会与AppDelegate进行交互,会调用AppDelegate中的如下方法: -(void)application:(UIApplication...void (^)())completionHandler{     NSLog(@"1111"); } 之后应用程序在后台会调用NSURLSesstion代理的如下方法来通知下载结果: //此方法无论成功失败都会调用

    99920

    iOS-网络编程(三)AFNetworking使用

    AFNetworking简单介绍 通过前面学习HTTP协议基本知识,GET/POST请求区别,NSURLConnectionNSURLSession使用,已经基本了解了网络请求方法,但是相对使用比较麻烦...,AFNetworking是对NSURLConnectionNSURLSession封装,使网络请求更加简单轻松,是一款非常有用第三方框架。...我们知道HTTPSHTTP基础上加入了SSL协议,SSL依靠证书来验证服务器身份,并为浏览器和服务器之间通信加密。...AFN内部封装方法 那么当我们用NSURLSession向HTTPS发送请求时候,直接复制过来稍作修改就可以用啦 -(void)URLSession:(NSURLSession *)session...---- 关于网络请求基础知识请参考iOS-网络编程(一)HTTP协议、iOS-网络编程(二)文件上传和断点离线下载。

    2.2K70
    领券