博客> 网络技术之三NSURLSession
网络技术之三NSURLSession
2017-09-23 01:49 评论:3 阅读:760 Iven_Ma
ios 网络

1.熟悉CFNetWork

2.熟悉NSURLSession

3.使用NSURLSession封装网络请求

一.CFNetWork简介

1.CFNetWork是属于core Foundation层。该层是苹果对socket进行了简单的封装,该层提供了CFNetWork,CFNetServices。

2.著名的ASI网络框架在网络请求方面 就是对CFNetWork进行封装的。

3.CFNetWork主要依赖两个API,CFSocket和CFStream,CFSocket主要用于网络底层的通信,而CFSteam包括CFReadStream和CFWriteStream,分别对Socket的读取和写入。

二.NSURLSession简介

1.NSURLSession是一系列类的总称,核心类包括:NSURLSession,NSURLRequest,NSURLSessionConfiguration,NSURLSessionTask,NSCache

2.NSURLSession的作用是帮助我们快速的实现网络请求,并且非常方便的管理网络请求任务,例如后台任务,暂停任务。

3.NSURLSession图解  屏幕快照 2016-04-05 下午6.55.35.png

4.NSURLSession使用的基本三要素

①NSURLSessionConfiguration:用于配置NSURLSession对象,比如缓存策略等。有三种常用配置:  屏幕快照 2016-04-05 下午6.58.04.png 默认会话模式(default):使用的是基于磁盘缓存的持久化策略。 瞬时会话模式(ephemeral):该模式不使用磁盘保存任何数据。 后台会话模式(background):该模式在后台完成上传和下载

②NSURLSessionTask:用于通过不同的数据获取方式创建不同的任务,通过task管理任务。 NSURLSessionDataTask:一般的数据请求任务 NSURLSessionDownLoadTask:文件的下载请求任务 NSURLSessionUploadTask:文件的上传任务

③NSURLSession:对话对象,可以获取全局,也可以自己创建  屏幕快照 2016-04-05 下午7.04.38.png 三.NSURLSession封装网络任务

1.NSURLSessionDataTask  屏幕快照 2016-04-05 下午7.08.42.png 2.NSURLSessionDownLoadTask  屏幕快照 2016-04-05 下午7.09.37.png  屏幕快照 2016-04-05 下午7.10.03.png 3.NSURLSessionUploadTask 上传任务一般为POST请求,需要设置NSURLRequest的请求体,然后把请求体作为发送的数据发送出去。

POST请求体的Content-type有很多种,最常用的是form-data,即表单数据。

 屏幕快照 2016-04-05 下午7.13.53.png

 屏幕快照 2016-04-05 下午7.16.06.png

收藏
2
sina weixin mail 回到顶部