• 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

  • 相关阅读:
    Nginx编译安装
    Docker下mysql容器开启binlog日志(保留7天)
    podman
    error: audit:backlog limit exceeded
    64位win2003/win2008系统IIS6.0/7.5配置PHP的方法
    iis7.5安装配置php环境详细清晰教程,三步实现【图文】
    Windows下IIS+PHP 5.2的安装与配置
    无线路由MAC地址过滤安全可靠性讨论
    debian flam3 源码
    debian flam3 依赖文件
  • 原文地址:https://www.cnblogs.com/liuwj/p/6752767.html
Copyright © 2020-2023  润新知