http://www.cnphp6.com/archives/64928【介绍】
http://blog.youkuaiyun.com/majiakun1/article/details/38133703【demo】
使用GCD
//异步发送数据
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
//得到url
NSURL * requestUrl = [NSURL URLWithString:@"https://www.baidu.com"];
//得到nsMutableUrlRequest
NSMutableURLRequest * request = [[NSMutableURLRequest alloc] initWithURL:requestUrl];
[request setTimeoutInterval:30];
[request setHTTPMethod:@"POST"];
if (contentData != nil) {
[request setHTTPBody:contentData];
}
//构造session
NSURLSession * session = [NSURLSession sharedSession];
//task
NSURLSessionDataTask * callBackData = [session dataTaskWithRequest:request completionHandler:^(NSData * _Nullable data, NSURLResponse * _Nullable response, NSError * _Nullable error) {
[self showResponseCode:response];
if (error != nil) {
NSLog(@"%s >> error>> %@", __PRETTY_FUNCTION__, error);
}
NSMutableDictionary * reciveDic = nil;
if ([data length] > 0) {
//有返回数据
reciveDic =[self getDictionaryWithData:data];
// 打印返回的数据
NSLog(@"\n\n<==接口返回: %@\n<==返回数据:%@\n", requestUrl, reciveDic);
}else
{
}
/* dispatch_async(dispatch_get_main_queue(), ^{
completionBlock(reciveDic,nil);
});//回调结果
*/ }];
[callBackData resume];
});
- (void)showResponseCode:(NSURLResponse *)response{
NSHTTPURLResponse * httpResponse = (NSHTTPURLResponse *)response;
NSInteger responserStatusCode = [httpResponse statusCode];
NSLog(@"请求后的状态--》%ld",(long)responserStatusCode);
}