CYC- 数据解析2
来源:互联网 发布:网络匿名性的缺点 编辑:程序博客网 时间:2024/06/05 15:11
GET 与 POST 区别
1. get请求 请求的网址 全部明文显示 安全性不高
2. get请求 请求的网址 有字符数的限制 大概255个
3. post 请求 请求的网址 不光是有一个请求的网址 还可以携带 请求体 这个请求体 是以NSData形式携带 NSDATA(以二进制形式存在) 安全性较高
4. post请求 网址没有字符数限制
一般公司都使用 post请求
#import "SecondViewController.h"@interface SecondViewController ()<NSURLConnectionDataDelegate, NSURLConnectionDelegate>// 声明一个可变data 进行异步请求接收数据@property (nonatomic, retain) NSMutableData *data;// 声明属性 再界面被消毁的时候 用于终止网络请求@property (nonatomic ,retain) NSURLConnection *connection;@end@implementation SecondViewController
- (void)dealloc{ [_connection release]; [_data release]; [_connection cancel]; [super dealloc];}
- (void)viewDidLoad { [self addBarButtonItme]; [super viewDidLoad]; // Do any additional setup after loading the view.}
- (void)addBarButtonItme{ UIBarButtonItem *leftButton = [[ UIBarButtonItem alloc] initWithTitle:@"Post同步" style:(UIBarButtonItemStylePlain) target:self action:@selector(actionLeft:)]; self.navigationItem.leftBarButtonItem = leftButton; [leftButton release]; UIBarButtonItem *rightButton = [[UIBarButtonItem alloc] initWithTitle:@"Post异步" style:(UIBarButtonItemStylePlain) target:self action:@selector(actionRight:)]; self.navigationItem.rightBarButtonItem = rightButton; [rightButton release];}
#pragma mark - Post同步请求- (void)actionLeft:(UIBarButtonItem *)leftButton{ // 创建 网址对象 NSURL *url = [NSURL URLWithString:kNewsListURL]; // 利用网址对象 创建一个请求 NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url cachePolicy:(NSURLRequestUseProtocolCachePolicy) timeoutInterval:30.0]; // 设置请求类型 [request setHTTPMethod:@"POST"]; // 注意:给这个请求 携带一个请求体 // 构建一个请求体 NSData类型 NSData *pramData = [kNewsListParam dataUsingEncoding:NSUTF8StringEncoding]; // 携带到 请求当中 [request setHTTPBody:pramData]; // 利用这个请求 创建一个链接 并得到返回的数据 NSURLResponse *response = nil; NSError *error = nil; NSData *data = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error]; NSMutableDictionary *dataDic = [NSJSONSerialization JSONObjectWithData:data options:(NSJSONReadingMutableContainers) error:nil]; NSLog(@"%@", dataDic);}
- (void)actionRight:(UIBarButtonItem *)rightButton{ // 利用网址字符串 创建网址对象 NSURL *url = [NSURL URLWithString:kNewsListURL]; // 利用网址对象 创建请求 NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:30.0]; // 设置请求的类型 [request setHTTPMethod:@"POST"]; // 给这个请求 携带请求体 NSData *paramData = [kNewsListParam dataUsingEncoding:NSUTF8StringEncoding]; [request setHTTPBody:paramData]; /* // 利用Block方法 完成异步请求 [NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse *response, NSData *data, NSError *connectionError) { // data 就是异步请求完成的数据 解析就行 // 解析数据 NSMutableDictionary *dataDic = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:nil]; NSLog(@"%@", dataDic); // 剥香蕉 }]; */ // 利用请求 创建链接 利用代理方法 实现异步请求数据 self.connection = [NSURLConnection connectionWithRequest:request delegate:self]; [self.connection start];}
#pragma mark - 代理方法实现- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error{ NSLog(@"请求失败,错误信息");}- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response{ self.data = [NSMutableData data]; NSLog(@"返回服务器信息, 证明链接成功了");}- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data{ // 拼接 [self.data appendData:data]; NSLog(@"每次返回一点数据 多次执行");}- (void)connectionDidFinishLoading:(NSURLConnection *)connection{ NSMutableDictionary *dataDic = [NSJSONSerialization JSONObjectWithData:(self.data) options:(NSJSONReadingMutableContainers) error:nil]; NSLog(@"%@", dataDic); NSLog(@"完成请求, 此时可以进行数据解析");}
0 0
- CYC- 数据解析2
- CYC-数据解析1
- CYC-数据解析3 - 加载图片
- CYC面面观
- Cyc简介
- CYC-CocoaPods
- 6.CYC面面观
- CYC-多线程 售票问题
- CYC- 简单UIView动画
- CYC-数据库的运用
- CYC- 手势解锁
- CYC-MKMapView用法
- CYC-自定义导航栏去黑
- CYC-多线程之 GCD
- CYC-关于UIImagePickerController
- CYC-多线程之详解
- CYC-pickerview 时间选取器
- CYC-NSFileManager的简单使用
- CYC-数据解析1
- python 计算文本的相似度
- javascript内存泄漏总结
- ERROR! The server quit without updating PID file!!!(已解决!!!)
- 结构体对齐问题
- CYC- 数据解析2
- elasticsearch基本概念
- asp.net后台获取路径的各种方法归纳
- codeforces 580D(状态dp)
- CardView,RecyclerView在Idea上的使用问题
- windows下面安装Python和pip教程
- java的三大特性之多态
- xcode6 插件制作
- 寻找神格