文档章节

2.AFNetWorking

BKF_
 BKF_
发布于 2016/03/03 01:33
字数 296
阅读 14
收藏 0
  1. 封装:如图,AFNetWorking是封装在NSURL上层的网络接口封装。他在OC面向对象的基础上又封装了一次。

  2. 注意:

    AFHTTPRequestOperationManager -- 对NSURLConnection的封装(3.0版本已经去掉NSURLConnection了)
    AFHTTPSessionManager -- 对NSURLSession的封装

    源码中默认的解析方式:可以自己设置。

PS:AFJSONResponseSerializer类中添加:@"text/plain",否者服务器返回数据这种类型无法解析

self.acceptableContentTypes = [NSSet setWithObjects:@"text/plain", @"application/json", @"text/json", @"text/javascript", nil];
self.requestSerializer = [AFHTTPRequestSerializer serializer];
self.responseSerializer = [AFJSONResponseSerializer serializer];

     3.AFHTTPRequestOperationManager 使用:默认

AFHTTPRequestOperationManager *mgr = [AFHTTPRequestOperationManager manager];
请求参数
NSMutableDictionary *params = @{@“user”:@"czw"
                                  @"pwd":@"wtf"};

发送请求
POST
NSString *url = @"http://localhost:8080/czw/login";
[mgr POST:url parameters:params    success:^(AFHTTPRequestOperation *operation, id responseObject) {
    // 请求成功的时候回调
    NSLog(@"success:%@", responseObject);
    
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
    NSLog(@"failure");
}];
GET请求
[mgr GET:url parameters:params    success:^(AFHTTPRequestOperation *operation, id responseObject) {
    // 请求成功的时候回调
    NSLog(@"success:%@", responseObject);
    
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
    NSLog(@"failure");
}];

3.AFHTTPSessionManager使用

AFHTTPSessionManager *mgr = [AFHTTPSessionManager manager];
mgr.responseSerializer = [AFHTTPResponseSerializer serializer];
NSString *url = @"http://localhost:8080/czw/login";
[mgr GET:url parameters:nil success:^(NSURLSessionDataTask * _Nonnull task, id  _Nonnull responseObject) {
    NSLog(@"success:%@", responseObject);
} failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
    NSLog(@"failure");
}];

如果要详细的控制可以使用 代理方法

AFHTTPSessionManager:(他的代理方法很强大)

NSURLSessionDelegate,

NSURLSessionTaskDelegate,

NSURLSessionDataDelegate,

NSURLSessionDownloadDelegate



© 著作权归作者所有

共有 人打赏支持
BKF_
粉丝 1
博文 21
码字总数 4291
作品 0
广州
私信 提问
关于Request failed: unacceptable content-type:的错误

1.关于iOS请求"Request failed: unacceptable content-type: XXXX" xxxx可能是:@"text/html",@"text/json",@"application/json"等 AFN默认的是下面的: self.acceptableContentTypes = [N......

追逐iOS
07/03
0
0
iOS NSURLConnection 和 AfNetworking免证书https连接

NSURLConnection 1.1 首先添加代理 //uiViewController.h <NSURLConnectionDelegate,NSURLConnectionDataDelegate,NSURLConnectionDownloadDelegate> 是不是全部需要三个我也没有具体细究,反......

暖冰
2015/12/11
296
0

没有更多内容

加载失败,请刷新页面

加载更多
Beautiful Soup

定义 Python中的一个库,主要用于从网页爬取数据; 安装 pip install beautifulsoup4 四大对象 Beautiful Soup将复杂的HTML文档转换成树形结构,树中的每个节点都是Python对象,对象可归纳为...

村雨1943
24分钟前
2
0
Visual Studio 昨日发布新版本:增加实时同步编程、共同调试

多名开发者可以在同一个项目中编程,在编写代码和调试代码时只需发送一个 URL 网址,就能邀请他人参与协作,而且无需重新配置开发环境和安装任何附加包。该服务支持 Windows、Mac 与 Linux ...

linuxCool
27分钟前
2
0
发现一种不错的学习方法

这是在《软技能,代码之外的生存之道》所看到的一种学习方法,感觉这个理念不错,分享出来,共勉。 我的「十步学习法」 多年以来,我都承受着巨大的压力:快速学习新技术、新编程语言、新框架...

firepation
27分钟前
1
0
webpack4配置详解之常用插件分享

前言   继上一次webpack的基础配置分享之后,本次将分享一些工作中项目常用的配置插件、也会包含一些自己了解过觉得不错的插件,如有分析不到位的,欢迎纠错,嗯,这些东西文档都有,大佬可...

苏南-首席填坑官
44分钟前
10
1
升压变换器 Boost

工作特点 输入输出极性相同。 开关管 MOS 和负载构成并联,在MOS 导通时,电流通过 L 滤波,电源对 L 充电。 当 MOS 断开时,L 向负载及电源放电,输出电压将是 Ui+U L ,达到升压的目的。 ...

colinux
46分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部