美文网首页
NSURLSession基本使用

NSURLSession基本使用

作者: Coder007 | 来源:发表于2017-04-25 15:18 被阅读8次

NSURLSession基本使用

  • NSURLConnection 现在已经不推荐使用了,我们可以使用更加方便的NSURLSession来进行网络访问
  • 使用步骤
    • 使用NSURLSession对象创建Task
    • 执行Task
  • Task的类型
    • NSURLSessionTask
    • NSURLSessionDataTask
    • NSURLSessionDownloadTask
    • NSURLSessionUploadTask

基本使用方法-GET

// 第一种方式:
// 获得NSURLSession对象
NSURLSession *session = [NSURLSession sharedSession];

// 创建任务
NSURLSessionDataTask *task = [session dataTaskWithRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"https:www.baidu.com"]] completionHandler:^(NSData * _Nullable data, NSURLResponse * _Nullable response, NSError * _Nullable error) {
    
}];
// 启动任务
[task resume];

// 第二种方式:
// 获得NSURLSession对象
NSURLSession *session = [NSURLSession sharedSession];
// 创建任务
NSURLSessionDataTask *task = [session dataTaskWithURL:[NSURL URLWithString:@"https://www.baidu.com"] completionHandler:^(NSData * _Nullable data, NSURLResponse * _Nullable response, NSError * _Nullable error) {
}];
[task resume];

基本使用方法-POST

NSURLSession *session = [NSURLSession sharedSession];
// 创建请求
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"https://www.baidu.com"]];
// 可以设置请求方法和请求体等信息
request.HTTPMethod = @"POST";

NSURLSessionDataTask *task = [session dataTaskWithRequest:request completionHandler:^(NSData * _Nullable data, NSURLResponse * _Nullable response, NSError * _Nullable error) {

}];
[task resume];

基本使用方法-代理

NSURLSession *session = [NSURLSession sessionWithConfiguration:[NSURLSessionConfiguration defaultSessionConfiguration] delegate:self delegateQueue:[[NSOperationQueue alloc] init]];

// 创建任务
NSURLSessionDataTask *task = [session dataTaskWithRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"https://www.baidu.com"]]];
[task resume];


#pragma mark - <NSURLSessionDataDelegate>

/**
 第一步:接收到服务器响应
 */
- (void)URLSession:(NSURLSession *)session dataTask:(NSURLSessionDataTask *)dataTask didReceiveResponse:(NSURLResponse *)response completionHandler:(void (^)(NSURLSessionResponseDisposition))completionHandler
{
    // 允许处理服务器的响应,才会继续接收服务器返回的数据
    completionHandler(NSURLSessionResponseAllow);
}

/**
 第二步:接收到服务器的数据(可能调用多次)
 */
- (void)URLSession:(NSURLSession *)session dataTask:(NSURLSessionDataTask *)dataTask didReceiveData:(NSData *)data
{
}

/**
 第三步:请求成功或者失败(如果失败,error有值)
 */
- (void)URLSession:(NSURLSession *)session task:(NSURLSessionTask *)task didCompleteWithError:(NSError *)error
{
}
  • 很多时候,我们下载需要用到断点下载,下一篇介绍

相关文章

  • NSURLSession

    NSURLSession基本使用 使用步骤NSURLSession支持HTTP 2.0协议 , 可以通过share...

  • NSURLSession

    NSURLSession基本使用 简介 使用步骤使用NSURLSession会话对象创建Task,然后执行Task...

  • NSURLSession基本使用

    NSURLSession基本使用 NSURLConnection 现在已经不推荐使用了,我们可以使用更加方便的NS...

  • NSURLSession 基本用法示例

    NSURLSession 基本用法示例 使用NSURLSession来执行网络请求: url获取访问服务器的路径 ...

  • NSURLSession的基本使用

    1. 使用步骤使用NSURLSession创建task,然后执行task 关于taska.NSURLSession...

  • NSURLSession的基本使用

    .NSURLSession的基本使用 .1 涉及知识点 (1)使用步骤 (2)关于task a.NSURLSess...

  • AFNetWorking

    AFNetworking的基本使用 网络请求 AFNetworking的基本用法和NSURLSession的用法基...

  • 网络编程(02)NSURLSession

    一 基本的 NSURLSession 请求 NSURLSession GET (1) NSURLSession ...

  • 多线程网络-6

    Xmind 基本使用 PPT 文件下载上传 NSURLSession UIWebView GitBook 1 NS...

  • AFNetworking实现原理理解

    NSURLSession: NSURLSession由三个基本模块构成: NSURLSession NSURLSe...

网友评论

      本文标题:NSURLSession基本使用

      本文链接:https://www.haomeiwen.com/subject/kppvzttx.html