详解iOS App开发中session和coockie的用户数据存储处理

时间:2021-05-19

NSURLSession
在iOS7之后,NSURLSession作为系统推荐使用的HTTP请求框架,在进行前台请求的情况下,NSURLSession与NSURLConnection并无太大差异,对于后台的请求,NSURLSession更加灵活的优势就将展现无遗。
1.NSURLSession集合的类型

NSURLSession类提供3中Session类型:

(1)Default类型:提供前台请求相关方法,支持配置缓存,身份凭证等。

(2)Ephemeral类型:即时的请求类型,不使用缓存,身份凭证等。

(3)Background:后台类型,支持在后台完成请求任务。

2.NSURLSession任务的类型

在NSURLSession中添加的请求任务支持3中类型:

(1)数据任务:使用NSData对象进行数据的发送和获取,一般用于短数据的任务。

(2)下载任务:从文件下载数据,支持后台下载。

(3)上传任务:以文件的形式上传数据,支持后台上传。

3.创建并配置NSURLSession:

通过NSURLSessionConfiguration类对象对NSURLSession进行配置与创建,创建和配NSURLSession的示例代码如下:

//默认类型的
NSURLSessionConfiguration * defaultConfiguration = [NSURLSessionConfiguration defaultSessionConfiguration];
//即时类型的
NSURLSessionConfiguration * ephemeralConfiguration = [NSURLSessionConfiguration ephemeralSessionConfiguration];
//后台类型的
NSURLSessionConfiguration * backgroundConfiguration = [NSURLSessionConfiguration backgroundSessionConfigurationWithIdentifier:@"SessionId"];

//创建并设置session
NSURLSession * defaultSession = [NSURLSession sessionWithConfiguration:defaultConfiguration];
NSURLSession * ephemeralSession = [NSURLSession sessionWithConfiguration:ephemeralConfiguration];
NSURLSession * backgroundSession = [NSURLSession sessionWithConfiguration:backgroundConfiguration];
NSURLSessionConfiguration还可以配置如缓存,网络模式等参数

4.使用NSURLSession进行网络请求的两种方式

NSURLSession有两种方式进行网络数据的请求,一种是通过block的方式获取网络数据,一种是通过代理回调的方式获取网络数据。通过block的方式进行请求代码如下:

//创建session配置对象
NSURLSessionConfiguration * defaultConfiguration = [NSURLSessionConfiguration defaultSessionConfiguration];
//创建请求对象
NSURLRequest * request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"http://mentURL;
//服务端口列表
@property (nullable, readonly, copy) NSArray<NSNumber *> *portList;


声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章