UI(三十)发送请求NSURLSession

发送请求 NSURLSession网络请求会话

 1、NSURLSessionDataTask 数据类任务

NSURLSessionUploadTask 上传类任务

 2、NSURLSessionDownloadTask 下载类任务


 发送请求的流程:

 1、准备请求(NSURLRequest)

  eg:王文强借东西的那句话

 2、创建一个网络请求会话(NSURLSession)

  eg:王文强的嘴

 3、创建请求任务(NSURLSession-DataTask)

  eg:组织借东西的语言

 4、通过会话开启任务(resume)

  eg:万文强张嘴借东西



//1、创建一个请求 (NSURLRequest)

 //(1)URL

 //(2)创建一个请求对象(1、需要添加内容到请求对象的时候NSMutableURLRequest  2、不需要添加内容到请求对象的时候 NSURLRequest)

 NSURL *url = [NSURL URLWithString:@"http://apis.baidu.com/heweather/weather/free?city=zhengzhou"];

 NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];

 //get、post 都是发送一个内容(参数)到服务器端

 //get:把要送的内容拼接到URL字符串后面 常用?隔开 (1、把要发送的内容暴露在URL的字符串中,不可以发送密码隐私  2、URL的字符串长度是有限制的(1kb)发送内容过大不能使用)

//设置请求方式

[requset setHTTPMethod:@"get"];

 //apikey 请求头

[request addValue:@"800df6eb77392d2205b55cfccbcc1662"forHTTPHeaderField:@"apikey"];

 //2、创建NSURLSession会话

 NSURLSession *session = [NSURLSession sharedSession];

 //3、创建一个请求的任务NSURLSessionDataTask

//    NSURLSessionDataTask *task = [session dataTaskWithRequest:request];

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

 //data 服务器返回给咱们需要的内容

 //JOSN解析

 NSDictionary *result = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:nil];

 NSLog(@"==%@",response);

 NSLog(@"%@",result);

    }];

 //4、开启任务

[task resume];

你可能感兴趣的:(UI(三十)发送请求NSURLSession)