AFN的一些常见的用法(GET,POST)解析(XML,Json)
来源:互联网 发布:日本轻小说知乎 编辑:程序博客网 时间:2024/06/08 19:17
GET请求
- 使用AFN有以下几点注意点
- 没有URL的概念
- 已经序列号成字典
- 没有线程间通信的概念,不用考虑线程间通信
- GET请求参数可以不需要拼接到URL后面
- 通过GET请求获得服务器返回的json数据
- (void)getJson{ //获得网络请求管理者 AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager]; //发送网络请求 [manager GET:@"http://localhost/demo.json" parameters:nil success:^(AFHTTPRequestOperation *operation, id responseObject) { NSLog(@"responseObject==%@,%@",responseObject,[NSThread currentThread]); } failure:^(AFHTTPRequestOperation *operation, NSError *error) { NSLog(@"error==%@",error); }];}
提前在服务器中准备好的json 就能很轻松的解析出来:
- 通过get登录
- (void)getLogin{ AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager]; //发送网络请求 - GET请求 [manager GET:@"http://localhost/login.php?username=zhangsan&password=zhang" parameters:nil success:^(AFHTTPRequestOperation *operation, id responseObject) { NSLog(@"responseObject==%@--%@",responseObject,[NSThread currentThread]); } failure:^(AFHTTPRequestOperation *operation, NSError *error) { NSLog(@"%@",error); }];}
- GET登录中,用户名带中文,需要稍微的自己转码才行(百分比转码)
- (void)getLogin2{ //获得请求对象 AFHTTPRequestOperationManager *mannager = [AFHTTPRequestOperationManager manager]; NSString *url = @"http://localhost/login.php?username=张三&password=zhang"; url = [url stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; [mannager GET:url parameters:nil success:^(AFHTTPRequestOperation *operation, id responseObject) { NSLog(@"responseObject==%@--%@",responseObject,[NSThread currentThread]); } failure:^(AFHTTPRequestOperation *operation, NSError *error) { NSLog(@"%@",error); }];}
- post登录演示:
- (void)postLogin{ AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager]; //发送网络请求 NSDictionary * parameter = @{@"username":@"zhangsan",@"password":@"zhang"}; [manager POST:@"http://localhost/login.php" parameters:parameter success:^(AFHTTPRequestOperation *operation, id responseObject) { NSLog(@"responseObject==%@--%@",responseObject,[NSThread currentThread]); } failure:^(AFHTTPRequestOperation *operation, NSError *error) { NSLog(@"%@",error); }];}
- 到现在我们已经使用AFN完成了GET一级POST的一些需求
- 接下来我们看一下 如何使用AFN来对XML数据的解析:
- 如果我们只是单独的依靠AFN 那么是解析不出来XML数据的,要结合我们之前写的SAX解析XML (两个一起 才好):解析XML
- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{ //获得网络请求管理者 AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager]; //修改响应解析对象 manager.responseSerializer = [AFXMLParserResponseSerializer serializer]; //发送网络请求 [manager GET:@"http://localhost/videos.xml" parameters:nil success:^(AFHTTPRequestOperation *operation, id responseObject) { [ZYSAXTool parse:responseObject finished:^(NSArray *videos) { NSLog(@"responseObject==%@--%@",[responseObject class],[NSThread currentThread]); }]; } failure:^(AFHTTPRequestOperation *operation, NSError *error) { NSLog(@"%@",error); }];}
因为之前封装好了XML数据的解析,所以现在就直接拿来用了
1 0
- AFN的一些常见的用法(GET,POST)解析(XML,Json)
- json解析的一些常见用法
- NSURLSession(Get & Post,JSON、XML数据解析,文件上传下载)
- 简单封装AFN(GET&POST&POST上传)
- Unity常见的解析数据方式XML,JSON,ProtocolBuf篇(三)Json
- unity常见的解析数据方式XML,JSON,ProtocolBuf篇(二)XML
- AFNetworking的网络请求(POST GET XML JSON以及其他类型的返回数据)和网络转态监听
- Jackson 解析json的一些用法
- AFN 的一些记录
- Unity常见的解析数据方式XML,JSON,ProtocolBuf篇(一)Protobuf
- PHP curl的用法(get and post)
- freemarker常见的一些用法(一)
- java post json的用法
- 关于xml和Json数据解析的一些总结
- QT http抓包,post和get方法,解析返回的json包
- android客户端从服务器端获取json数据并解析的实现代码get+post
- $.post() $.get() $.getJSON() | XML数据的处理
- Network 【用 AFN 通过 POST 方式发送JSON数据的两种形式】
- 科学美国人~Steve Yegge
- 【转】C语言fclose函数了解
- Leetcode日记(4)---Median of Two Sorted Arrays
- MongoDB MapReduce 分组统计
- 修改系统状态栏颜色
- AFN的一些常见的用法(GET,POST)解析(XML,Json)
- android 透明度换算
- 07_Java变量类型
- 清除磁盘脱机策略
- IOS-36-Object-C语法之属性关键字的使用(assign/weak/strong/copy)
- H5技术实现教程:多屏CSS动画精进技巧
- <Python for Kids>读书笔记
- 转载Eclipse卡顿优化
- WordPress -NewsPlus主题-博客新闻杂志门户,完美中/英文主题