创建一个管理单例类继承AFHTTPSessionManager,把数据请求的方法封装进去post方法
URLSession
Foundation中URLConnection的替代
支持后台运行的网络任务
暂停/停止/重启网络任务,不再需要NSOperation的封装
请求可以使用同样的配置容器
不同的Session可以使用不同的私有存储
block和代理同时起作用
直接从文件系统上传下载
NSURLSessionConfiguration
defaultSessionConfi - 缓存/cookie/证书全局非私有,近似于NSURLConnection
ephemeralSessionConfiguration - 缓存/cookie/证书全局私有但非持久化
backgroundSessionConfi - 适合于应用被挂起或收到remote notification
NSURLSessionConfiguration的一些属性
HTTPAdditionalHeaders:HTTP协议头部信息
allowCellularAccess/discretionary :前者运行运营商网络/后者对应后台网络任务进行优化(有WIFI/设备电量情况好的时候)
timeoutIntervalForRequest/ timeoutIntervalForResource: 前者每次有新data到达时重置,后者限制了整个资源请求时长
HTTPMaximumConnectionPerHost :对于一个host的最大并发连接数
NSURLSessionTask
可以发送cancel/resume/suspend消息
NSURLSessionDataTask 返回NSData
NSURLSessionDownloadTask 返回文件,下载进度可以恢复
NSURLSessionUploadTask 上传NSData/File/Stream
Task默认都是挂起的,记得要向Task发送resume消息