AFNetworking

AFNetworking是在iOS开发中使用非常多的网络开源库
适用于iOS以及Mac OS X 它构建与NSURLConnection NSOperation以及其他熟悉的Foundation技术之上
AFNetworking是一个轻量级的网络请求API类库
目前AFNetworking使用NSURLSession作为网络类!!!!

AFNetworking可以进行网络监测:

//开始监测
[AFNetworkingReachabilityManager sharedManager] stratMonitoring];
//打印数据
[AFNetworkingReachabilityManager sharedManager] setReachabliltyStatusChangeBlock:^(AFNetworkReachablilty Status status){
   NSLog(@"%ld", status);  }];

AFNetworking网络数据请求
注意:AFNetworking默认接受json格式的响应 如果要接受其他格式的数据响应需要设置acceptableContentTypes

  //设置请求接口回来的时候支持什么类型的数据
   [AFHTTPSessionManager manager].responseSerializer.acceptableContentTypes = [NSSet setWithObjects:@"application/json", @"text/json", @"text/javascript",@"application/x-json",@"text/html", nil];

get请求:

使用它来发出 HTTP 请求有两个步骤

1 以服务器的 主机地址或者域名 生成一个 AFHTTPSessionManager 的实例

2 调用 - GET:parameters:progress:success:failure: 方法

AFHTTPSessionManager *manager = [[AFHTTPSessionManager alloc] initWithBaseURL:[[NSURL alloc] initWithString:@"hostname"]];
[manager GET:@"relative_url" parameters:nil progress:nil
    success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable responseObject) {
        NSLog(@"%@" ,responseObject);
    } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
        NSLog(@"%@", error);
    }];

post请求

 // 请求管理者
 2     AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];

 3     manager.responseSerializer = [AFHTTPResponseSerializer serializer];//这句代码的意思是:  默认传输的数据类型(参照上面的“注意”)
 4     
 5     
 6     // 拼接请求参数

 7      NSMutableDictionary *dict = [NSMutableDictionary dictionary];
    [dict setValue:@"" forKey:@"address"];

    [dict setValue:@"add_comment" forKey:@"do"];
    [dict setValue:@"task" forKey:@"kind"];
    [dict setValue:@"zpHr2dsRvQQxYJxo2" forKey:@"member_id"];
    [dict setValue:@"" forKey:@"other"];
    [dict setValue:@"55a47e79ec25e3641" forKey:@"task_id"];

13     //上面这些是body部分  用可变的字典来拼接
14 
15     
16     
17     [manager POST:@"https://api.weibo.com/oauth2/access_token" parameters:dict progress:^(NSProgress * _Nonnull uploadProgress) {
18         
19     } success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable responseObject) {
20         NSLog(@"请求成功:%@", responseObject);
21    // 解析数据     
22         NSDictionary *JSON = [NSJSONSerialization JSONObjectWithData:responseObject options:NSJSONReadingMutableContainers error:nil];
23         
24         NSLog(@"请求成功JSON:%@", JSON);
25 
26         
27     } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
28         
29         NSLog(@"请求失败:%@", error.description);
30 
31     }];
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值