IOS AFN请求 总结
一、2大管理对象
1.AFHTTPRequestOperationManager
* 对NSURLConnection的封装
2.AFHTTPSessionManager
* 对NSURLSession的封装
二、AFHTTPRequestOperationManager的具体使用
1.创建管理者
AFHTTPRequestOperationManager *mgr = [AFHTTPRequestOperationManager manager];
2.封装请求参数
NSMutableDictionary *params = [NSMutableDictionary dictionary];
params[@"username"] = @"哈哈哈";
params[@"pwd"] = @"123";
3.发送请求
NSString *url = @"http://localhost:8080/MJServer/login";
[mgr POST:url parameters:params
success:^(AFHTTPRequestOperation *operation, id responseObject) {
// 请求成功的时候调用这个block
NSLog(@"请求成功---%@", responseObject);
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
// 请求失败的时候调用调用这个block
NSLog(@"请求失败");
}];
// GET请求
[mgr GET:url parameters:params
success:^(AFHTTPRequestOperation *operation, id responseObject) {
// 请求成功的时候调用这个block
NSLog(@"请求成功---%@", responseObject);
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
// 请求失败的时候调用调用这个block
NSLog(@"请求失败");
}];
三、对服务器返回数据的解析
1.AFN可以自动对服务器返回的数据进行解析
* 默认将服务器返回的数据当做JSON来解析
2.设置对服务器返回数据的解析方式
1> 当做是JSON来解析(默认做法)
* mgr.responseSerializer = [AFJSONResponseSerializer serializer];
* responseObject的类型是NSDictionary或者NSArray
2> 当做是XML来解析
* mgr.responseSerializer = [AFXMLParserResponseSerializer serializer];
* responseObject的类型是NSXMLParser
3> 直接返回data
* 意思是:告诉AFN不要去解析服务器返回的数据,保持原来的data即可
* mgr.responseSerializer = [AFHTTPResponseSerializer serializer];
3.注意
* 服务器返回的数据一定要跟responseSerializer对得上
1> 服务器返回的是JSON数据
* AFJSONResponseSerializer
* AFHTTPResponseSerializer
2> 服务器返回的是XML数据
* AFXMLParserResponseSerializer
* AFHTTPResponseSerializer
3> 服务器返回的是其他数据
* AFHTTPResponseSerializer
最新文章
- Linux(Centos)之安装Redis及注意事项
- android第一行代码-6.自定义控件的实现
- jquery截图插件的使用
- Selenium2Library系列 keywords 之 _SelectElementKeywords
- Grunt打包GMU组件 报错处理
- Educational Codeforces Round 1 B. Queries on a String 暴力
- 中国海洋大学第四届朗讯杯高级组 Cash Cow(模拟)
- TCP的封包与拆包
- 第一章 oracle数据库基础
- Eclipse安装反编译工具JadClipse for Eclipse手把手教程
- Codevs 3990 [中国剩余定理]
- mysql按条件 导出sql
- IDEA:Maven项目找不到mapper文件 无法自动映射
- Xilinx Vivado的使用详细介绍(1):创建工程、编写代码、行为仿真
- tensorflow变量
- [c/c++] programming之路(18)、动态分配内存malloc
- 数据结构与算法之PHP排序算法(希尔排序)
- LabVIEW(十):数组和簇
- 24.类的加载机制和反射.md
- 蓝桥杯 BASIC-3:字母图形
热门文章
- ansible 命令详解{图片详解}
- python 爬虫系列07-天气爬虫
- 遍历方式 &;&; 数组方法 &;&; 算法
- 牛客网Java刷题知识点之Map的两种取值方式keySet和entrySet、HashMap 、Hashtable、TreeMap、LinkedHashMap、ConcurrentHashMap 、WeakHashMap
- 游戏源码--Unity开源Moba游戏-服务器-客户端完整V1.0
- c#委托、泛型、反射的使用情况
- mobile开发技巧(转)
- Java学习第十八天
- hash扩展攻击本地实验
- 7、侧边栏:Menu