使用NSURLSessionDataTask发送get和post请求
来源:互联网 发布:www.4399js.com 编辑:程序博客网 时间:2024/06/15 12:18
NSURLSessionDataTask是iOS7以后才会有的,取代NSURLConnection
参考:http://blog.csdn.net/ttf1993/article/details/46491113
1.基本使用
//GET请求(默认)
//创建session对象
NSURLSession*session = [NSURLSession sharedSession];
NSURL*url = [NSURL URLWithString:@"http://localhost:8080/TFServer/video"];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
//创建一个任务
NSURLSessionDataTask*task = [session dataTaskWithURL:url completionHandler:^(NSData *data, NSURLResponse *response, NSError *error)
{
NSLog(@"----%d", data.length);
}];
//开始任务
[task resume];
NSURLSessionDataTask *dataTask =nil;//创建任务,先置空
if (imageURL.absoluteString.length) {
NSURLRequest *request = [NSURLRequestrequestWithURL:imageURL];
if (request ==nil) {
dispatch_async(dispatch_get_main_queue(), ^{
if (completion) {
completion(nil);
}
});
}
else {
//1 创建对象
NSURLSession *sesh = [NSURLSessionsharedSession];
#if 0//POST请求(默认为GET请求)
//设置request
request.HTTPMethod = @"post";
request.HTTPBody = [@"username=123&pwd=123" dataUsingEncoding:NSUTF8StringEncoding];
#endif
// 创建任务
dataTask = [sesh dataTaskWithRequest:requestcompletionHandler:^(NSData *data,NSURLResponse *response, NSError *error) {
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT,0), ^{
//下载图片
NSError *error;
UIImage *image = [UIImage imageWithData:[NSData dataWithContentsOfURL:imageURL options:NSDataReadingMappedAlways error:&error]];
dispatch_async(dispatch_get_main_queue(), ^{
if (completion) {
completion(image);
}
});
});
}];
//3 开始请求任务
[dataTask resume];
}
}
return dataTask;
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 使用NSURLSessionDataTask发送get和post请求
- 【iOS开发-网络】使用NSURLSessionDataTask发送get和post请求
- NSURLSessionDataTask发送Get/Post请求
- 使用HttpURLConnection发送post和get请求
- 使用HttpURLConnection发送post和get请求
- 使用HttpURLConnection发送post和get请求
- 使用HttpURLConnection发送post和get请求
- 使用HttpURLConnection发送post和get请求
- 使用HttpURLConnection发送post和get请求
- 使用HttpURLConnection发送get和post请求
- 使用NSURLSession发送get和post请求
- 使用HttpClient发送GET和POST请求
- 使用URLConnection发送GET和POST请求
- python 使用urllib2发送get请求和post请求
- Java使用HttpClient发送Get请求和Post请求
- JS发送Get请求和Post请求
- Http学习之使用HttpURLConnection发送post和get请求
- Http学习之使用HttpURLConnection发送post和get请求
- 归档与压缩命令的总结 -- gzip, gunzip, zcat, bzip2, bunzip2, bzcat, xz, unxz, xzcat, zip, unzip, tar
- 电脑开机服务器模式,nas模式,一体化OS和PAAS,支持远程开机装APP,宿舍家用,神器
- 可怕的线程上下文类装载器(TCCL)
- 如何打包electronic-wechat(微信)为snap包
- 数据结构(一)排序算法
- 使用NSURLSessionDataTask发送get和post请求
- 数据结构经典算法学习之01背包问题
- Android多语言适配文件夹命名
- 生成树
- 大学是什么?如何渡过?
- 第17章 控件模版(6)——通过样式应用模版
- 1关于网络的思考,pc如何接入互联网 2互联网是什么? 3pc之间怎么互相访问?
- LuceneInAction-实现简单的搜索功能
- df 命令结果显示的 Size 不等于 Avail + Used