iOS 中GET请求
来源:互联网 发布:淘宝买岛国片搜什么 编辑:程序博客网 时间:2024/06/06 14:25
上一篇文章阐述了iOS中的请求方法。本文就来实现其中的GET方式。GET请求又有同步和异步之分。
1.GET同步请求
步骤:
1、设置URL地址 2、设置interface接口
3、添加?连接符 4、设置属性keyArr 5、设置值valueArr6、前五个拼接起来 7、request 8、sendSyn同步 NSData接收9、解析NSData(用什么接? 字典dic or 数组arr) 10、其他事情(一般是布局进行显示)
2. GET异步
1、遵守协议(NSURLConnectionDataDelegate.h)
2、声明mutableData
3、对其初始化
4、设置URL地址
5、添加interface
6、添加?
7、设置属性keyArr
8、设置值valueArr
9、5个数据拼接起来
10、request
11、connection
12、start
13、实现四个代理方法
-(void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error{}-(void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data{}-(void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response{ }-(void)connectionDidFinishLoading:(NSURLConnection *)connection{}具体代码如下1 GET同步:
{ NSString *URL = @"http://192.168.88.8/sns"; NSString *interface = @"/my/album_list.php"; NSString *token = @"b3f7bZ9/MisF" NSArray *keyArr = @[@"uid",@"m_auth",]; NSArray *valueArr = @[@"54837",token ]; NSMutableString *reqStr = [NSMutableString stringWithCapacity:0]; [reqStr appendString:url]; [reqStr appendString:interface]; [reqStr appendString:@"?"]; //GET方式,信息会被看到 for (int i = 0; i < keyArr.count; i++) { [reqStr appendFormat:@"%@=%@",keyArr[i],valueArr[i]]; if (i == keyArr.count-1) { break;//最后一个就退出,不再添加& } [reqStr appendString:@"&"]; } //以上创建好了URL+interface+key+value的请求 //下面开始创建请求体 NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL: [NSURL URLWithString:reqStr] cachePolicy:NSURLRequestReturnCacheDataElseLoad timeoutInterval:timeOut]; NSError *error = nil; NSData *reqData = [NSURLConnection sendSynchronousRequest: request returningResponse:nil error:&error]; if (error) { return ;//出错处理 } //解析数据,得到字典 NSDictionary *dic2 = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableLeaves error:nil];}
2 GET异步
{ NSString *URL = @"http://192.168.88.8/sns/my"; NSString *interface = @"/login.php"; NSMutableString *strUrl = [NSMutableString stringWithCapacity:0]; [strUrl appendString:URL]; [strUrl appendString:interface]; NSArray *keyArr = @[@"username",@"password"]; NSArray *valueArr = @[@"zaq",@"1111"]; for (int i = 0; i < keyArr.count; i++) { [strUrl appendFormat:@"%@=%@",keyArr[i],valueArr[i]]; if (i == keyArr.count-1) { break; } [strUrl appendString:@"&"]; } NSMutableURLRequest *requst = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:strUrl] cachePolicy:NSURLRequestReturnCacheDataElseLoad timeoutInterval:10]; NSURLConnection * conn = [NSURLConnection connectionWithRequest:requst delegate:self]; [conn start];//开始接收}//代理方法//接收出错-(void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error{ NSLog(@"%@",error);}//将收到的信息添加到profileData里面-(void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data{ [self.profileData appendData:data];}-(void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response{}//接收结束-(void)connectionDidFinishLoading:(NSURLConnection *)connection{ NSDictionary *proDic = [NSJSONSerialization JSONObjectWithData:self.profileData options:NSJSONReadingMutableLeaves error:&error]; }}
0 0
- iOS 中GET请求
- iOS开发中 get请求、post请求
- iOS中同步请求 异步请求 get请求 post请求
- iOS 中GET 和 POST 请求
- iOS中GET 和 POST 数据请求
- IOS 中使用 POST请求与GET请求的区别
- iOS 中GET请求与POST请求的区别
- IOS-post请求、get请求
- iOS get post请求
- IOS Get、Post请求
- ios get post请求
- IOS Get、Post请求
- ios http中post和get请求的区别
- IOS中GET和POST请求方式的差异
- iOS中GET请求的同步与异步
- [iOS 报错]AFNetWorking Get请求中含有中文则报错
- iOS中NSURLConnection、NSURLSession 常用请求(GET、POST)方法总结
- IOS中关于Get请求带中文参数问题
- poj2531~剪枝dfs枚举题
- JICE
- RS232 RS422 RS485的区别
- 第一个C++类实例
- [2602]Bone Collector (HDU)
- iOS 中GET请求
- nethogs
- 使用AMOS图形建立和检测模型(3)
- 搞不懂啊,为什么会这样,连结果都输不出来,怎么就AC了呢?
- html dojo1.9
- 算法笔记--图的基本遍历
- iOS的三维透视投影
- 机房收费系统之上下机
- 结构方程模型(SEM)的假设(2)