首页
Web开发
Windows程序
编程语言
数据库
移动开发
系统相关
微信
其他好文
会员
首页
>
Web开发
> 详细
NSURLSession(一)GET请求
时间:
2015-03-27 22:21:45
阅读:
119
评论:
0
收藏:
0
[点我收藏+]
标签:
session
//GET请求, 也可以给服务器发送信息, 也有参数(微博用户名,用户id)
//1.构造URL, 参数直接拼接在url连接后
NSURL *url = [NSURL URLWithString:@"http://news-at.zhihu.com/api/3/news/4602734"];
//2.构造Request
//把get请求的请求头保存在request里
//NSURLRequest *request = [NSURLRequest requestWithURL:url];
// 参数
// (1)url
// (2)缓存策略
// (3)超时的时间, 经过120秒之后就放弃这次请求
//NSURLRequest *request = [NSURLRequest requestWithURL:url cachePolicy:NSURLRequestReturnCacheDataElseLoad timeoutInterval:120];
//NSURLRequest 不可变,不能动态的添加请求头信息
//可变的对象
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
//(1)设置请求方式
[request setHTTPMethod:@"GET"];
//(2)超时时间
[request setTimeoutInterval:120];
//(3)缓存策略
[request setCachePolicy:NSURLRequestReturnCacheDataElseLoad];
//(4)设置请求头其他内容
//[request setValue:<#(NSString *)#> forHTTPHeaderField:<#(NSString *)#>];
//[request addValue:<#(NSString *)#> forHTTPHeaderField:<#(NSString *)#>];
//[request setAllHTTPHeaderFields:<#(NSDictionary *)#>];
[request setValue:@"gzip" forHTTPHeaderField:@"Accept-Encoding"]; //告诉服务,返回的数据需要压缩
//3.构造Session
NSURLSession *session = [NSURLSession sharedSession];
//4.构造要执行的任务task
/**
* task
*
* @param data 返回的数据
* @param response 响应头
* @param error 错误信息
*
*/
NSURLSessionDataTask *task = [session dataTaskWithRequest:request completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
if (error == nil) {
/*
NSString *dataStr = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
NSLog(@"data: %@", dataStr);
*/
//json --> data
//NSJSONSerialization *jsonData = [NSJSONSerialization dataWithJSONObject:<#(id)#> options:<#(NSJSONWritingOptions)#> error:<#(NSError *__autoreleasing *)#>]
/*
options:
1.读取reading
NSJSONReadingMutableContainers 生成可变的对象,不设置这个option,默认是创建不可变对象
NSJSONReadingMutableLeaves 生成可变的字符串MutableString(iOS7+有bug)
NSJSONReadingAllowFragments 允许json数据最外层不是字典或者数组
2.写入writing
NSJSONWritingPrettyPrinted 生成json数据是格式化的,有换行,可读性高
*/
//data --> json
NSString *dataStr = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
NSLog(@"data: %@", dataStr);
}
}];
//5.
[task resume];
NSURLSession(一)GET请求
标签:
session
原文地址:http://blog.csdn.net/swift_zero/article/details/44681321
踩
(
0
)
赞
(
0
)
举报
评论
一句话评论(
0
)
登录后才能评论!
分享档案
更多>
2021年07月29日 (22)
2021年07月28日 (40)
2021年07月27日 (32)
2021年07月26日 (79)
2021年07月23日 (29)
2021年07月22日 (30)
2021年07月21日 (42)
2021年07月20日 (16)
2021年07月19日 (90)
2021年07月16日 (35)
周排行
更多
36.VUE — 认识 Webpack 和 安装
2021-07-28
【PHP】上传图片翻转问题
2021-07-28
php对数字进行万。亿的转化
2021-07-28
五个 .NET 性能小贴士
2021-07-28
Three.js中显示坐标轴、平面、球体、四方体
2021-07-28
.net 5+ 知新:【1】 .Net 5 基本概念和开发环境搭建
2021-07-27
1.html,css
2021-07-27
基于Docker搭建 Php-fpm + Nginx 环境
2021-07-27
nginx + http + svn
2021-07-27
kubernets kube-proxy的代理 iptables和ipvs
2021-07-26
友情链接
兰亭集智
国之画
百度统计
站长统计
阿里云
chrome插件
新版天听网
关于我们
-
联系我们
-
留言反馈
© 2014
mamicode.com
版权所有 联系我们:gaon5@hotmail.com
迷上了代码!