AFNetworking类库使用示例

2018-07-20    来源:open-open

容器云强势上线!快速搭建集群,上万Linux镜像随意使用
AFNetworking对NSURLConnection和NSURLSession进行了封装. 下面分别用这两种方法请求数据 网址是 用来请求JSON数据的网址.
   NSString *urlPath = @"http://10.0.8.8/sns/my/user_list.php";

    //  AFNetworking VS ASI 最大的优势是 有ARC支持

    //  AFNetworking目标是赶上ASI, AFNetworking致辞NSURLConnection和NSURLSession

    //  AFNetworking是使用NSURLConnection 和 NSURLSession

    //  #improt "AFNetworking.h"

    

    //1.使用 NSURLConnection版本的AFNetworking

    //1.1创建一个AFN管理对象

    AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];

    

    //1.2告诉manager只下载原始数据, 不要解析数据(一定要写)

    //     AFN即可以下载网络数据, 又可以解析json数据,如果不写下面的  自动就解析json

    //     由于做服务器的人返回json数据往往不规范, 凡是AFN又检查很严格,导致json解析往往失败

    //     下面这句话的意思是 告诉AFN千万别解析, 只需要给我裸数据就可以

    manager.responseSerializer = [AFHTTPResponseSerializer serializer];

    

    //1.3使用GET下载数据

    NSDictionary *params = @{@"page" : @"2"};//表示第几页

    [manager GET:urlPath parameters:params success:

     ^(AFHTTPRequestOperation *operation, id responseObject) {

         NSData *data = operation.responseData;

         NSDictionary *dict = [NSJSONSerialization  JSONObjectWithData:data options:NSJSONReadingMutableContainers error:nil];

         NSLog(@"parase json is%@",dict);

     } 

     failure:^(AFHTTPRequestOperation *operation, NSError *error) {

         NSLog(@"下载错误 is %@",error);

    }];

    

  


    

    //2.使用NSURLSession版本的AFNetworking

    //2.1创建一个AFN管理对象

    AFHTTPSessionManager *smanager = [AFHTTPSessionManager manager];

    

    //2.2告诉manager只下载原始数据, 不要解析数据(一定要写

    smanager.responseSerializer = [AFHTTPResponseSerializer serializer];

    

    //2.3使用GET下载数据

    [smanager GET:urlPath parameters:params success:^(NSURLSessionDataTask *task, id responseObject) {

        NSData *data = responseObject;

        NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:nil];

        NSLog(@"parase session is %@",dict);

    } failure:^(NSURLSessionDataTask *task, NSError *error) {

        NSLog(@"下载错误 %@",error);

    }];



标签: seo 服务器 网络

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点!
本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。

上一篇:python操作mysql数据库的简单示例

下一篇: jpeg转bmp实现c代码