iOS - 发送请求NSURLSession

发送请求NSURLSession网络请求会话

1、NSURLSessionDataTask数据类任务

      NSURLSessionUploadTask 上传类任务

2、NSURLSessionDownloadTask下载类任务

发送请求的流程:

1、准备请求(NSURLRequest)

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

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

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


1、创建一个请求(NSURLRequest)

(1)URL

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

2、不需要添加内容到请求对象的时候NSURLRequest)

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

NSMutableURLRequest*request = [NSMutableURLRequestrequestWithURL:url];

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

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

//设置请求方式

[requsetsetHTTPMethod:@"get"];

//apikey请求头

[requestaddValue:@"800df6eb77392d2205b55cfccbcc1662"forHTTPHeaderField:@"apikey"];

//2、创建NSURLSession会话

NSURLSession*session = [NSURLSessionsharedSession];

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

NSURLSessionDataTask *task = [session dataTaskWithRequest:request];

NSURLSessionDataTask*task = [sessiondataTaskWithRequest:requestcompletionHandler:^(NSData*_Nullabledata,NSURLResponse*_Nullableresponse,NSError*_Nullableerror) {

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

//JOSN解析

NSDictionary*result =

[NSJSONSerializationJSONObjectWithData:dataoptions:NSJSONReadingMutableContainerserror:nil];

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

NSLog(@"%@",result);

}];

//4、开启任务

[taskresume];

你可能感兴趣的:(iOS - 发送请求NSURLSession)