發(fā)送請(qǐng)求NSURLSession網(wǎng)絡(luò)請(qǐng)求會(huì)話
1、NSURLSessionDataTask數(shù)據(jù)類任務(wù)
? ? ? NSURLSessionUploadTask 上傳類任務(wù)
2、NSURLSessionDownloadTask下載類任務(wù)
發(fā)送請(qǐng)求的流程:
1购笆、準(zhǔn)備請(qǐng)求(NSURLRequest)
2爸业、創(chuàng)建一個(gè)網(wǎng)絡(luò)請(qǐng)求會(huì)話(NSURLSession)
3矫渔、創(chuàng)建請(qǐng)求任務(wù)(NSURLSession-DataTask)
4崔列、通過(guò)會(huì)話開(kāi)啟任務(wù)(resume)
1、創(chuàng)建一個(gè)請(qǐng)求(NSURLRequest)
(1)URL
(2)創(chuàng)建一個(gè)請(qǐng)求對(duì)象(1屁桑、需要添加內(nèi)容到請(qǐng)求對(duì)象的時(shí)候NSMutableURLRequest
2医寿、不需要添加內(nèi)容到請(qǐng)求對(duì)象的時(shí)候NSURLRequest)
NSURL*url = [NSURLURLWithString:@"http://apis.baidu.com/heweather/weather/free?city=zhengzhou"];
NSMutableURLRequest*request = [NSMutableURLRequestrequestWithURL:url];
//get、post都是發(fā)送一個(gè)內(nèi)容(參數(shù))到服務(wù)器端
//get:把要送的內(nèi)容拼接到URL字符串后面常用蘑斧?隔開(kāi)(1靖秩、把要發(fā)送的內(nèi)容暴露在URL的字符串中须眷,不可以發(fā)送密碼隱私2、URL的字符串長(zhǎng)度是有限制的(1kb)發(fā)送內(nèi)容過(guò)大不能使用)
//設(shè)置請(qǐng)求方式
[requsetsetHTTPMethod:@"get"];
//apikey請(qǐng)求頭
[requestaddValue:@"800df6eb77392d2205b55cfccbcc1662"forHTTPHeaderField:@"apikey"];
//2沟突、創(chuàng)建NSURLSession會(huì)話
NSURLSession*session = [NSURLSessionsharedSession];
//3花颗、創(chuàng)建一個(gè)請(qǐng)求的任務(wù)NSURLSessionDataTask
NSURLSessionDataTask *task = [session dataTaskWithRequest:request];
NSURLSessionDataTask*task = [sessiondataTaskWithRequest:requestcompletionHandler:^(NSData*_Nullabledata,NSURLResponse*_Nullableresponse,NSError*_Nullableerror) {
//data 服務(wù)器返回給咱們需要的內(nèi)容
//JOSN解析
NSDictionary*result =
[NSJSONSerializationJSONObjectWithData:dataoptions:NSJSONReadingMutableContainerserror:nil];
NSLog(@"==%@",response);
NSLog(@"%@",result);
}];
//4、開(kāi)啟任務(wù)
[taskresume];