发送请求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];
网友评论