2.AFNetWorking
博客专区 > BKF_ 的博客 > 博客详情
2.AFNetWorking
BKF_ 发表于2年前
2.AFNetWorking
  • 发表于 2年前
  • 阅读 14
  • 收藏 0
  • 点赞 1
  • 评论 0

腾讯云 新注册用户 域名抢购1元起>>>   

摘要: http请求网络库,2.0和3.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



共有 人打赏支持
粉丝 2
博文 21
码字总数 4291
×
BKF_
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: