zoukankan      html  css  js  c++  java
  • AFNetworkIng的简单使用

    下面是使用AFNetWorking框架,在新浪微博发一条微博和请求豆瓣服务器的电影数据为例,简要说明利用AFNetWorking框架实现网络请求 :

    1.导入AFNetWorking框架;

    2.在ViewController.m文件进行网络请求;

    //POST方式

    - (void)POST{
        
        AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
        //1.URL


        //2.请求参数
        //access_token=2.00ihO9wBbx1h4Dea60be901dPLdrlB&status=呵呵

      //字典中存放微博的令牌(自己独有的)和发布的内容
        NSDictionary *dic = @{@"access_token":@"2.00ihO9wBbx1h4Dea60be901dPLdrlB",@"status":@"AFHAHAHAHA"};
        
        //设置请求头
        [manager.requestSerializer setValue:@"gzip" forHTTPHeaderField:@"Accept-Encoding"];
        

        //发送网络请求
        [manager POST:@"https://api.weibo.com/2/statuses/update.json" parameters:dic success:^(NSURLSessionDataTask *task, id responseObject) {
            NSLog(@"发送成功");
            
        } failure:^(NSURLSessionDataTask *task, NSError *error) {
            NSLog(@"发送失败");
            
        }];

    }

    //GET方式请求


    - (void)GET{

        AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
        
        //1.URL
        NSString *urlString = @"http://api.douban.com/v2/movie/top250";
        
        //2.请求参数
        NSDictionary *dic = @{@"count" : @"2"};
        
        
        //3.设置请求参数的格式
        /**
         &拼接 count=2&..
         JSON格式 {count : 2}
         
         AFHTTPRequestSerializer :&拼装格式
         AFJSONRequestSerializer : JSON数据格式
      

       */
        manager.requestSerializer = [AFJSONRequestSerializer serializer];
        
        //4.设置服务器返回的数据的解析方式(默认以JSON解析)
        /**
         AFHTTPResponseSerializer,不解析
         AFJSONResponseSerializer,JSON解析
         AFXMLParserResponseSerializer,XML解析
         */
        
        //以XML的方式解析数据
        //manager.responseSerializer = [AFXMLParserResponseSerializer serializer];
        //以JSON的方式解析数据
        //manager.responseSerializer = [AFJSONResponseSerializer serializerWithReadingOptions:NSJSONReadingMutableContainers];
        //不解析,返回的是NSData类型
        // manager.responseSerializer = [AFHTTPResponseSerializer serializer];
        
        //发送GET请求
        [manager GET:urlString parameters:dic success:^(NSURLSessionDataTask *task, id responseObject) {
            
            //请求成功以后调用的blcok
            NSLog(@"%@",responseObject);
            
        } failure:^(NSURLSessionDataTask *task, NSError *error) {
            
            //请求失败以后调用的blcok
            
        }];

    }

    3.注意点:

    注意POST和GET的区别,一般情况下,请求网络数据用GET,而发送数据给服务器则需要POST,POST相比与GET更安全.

  • 相关阅读:
    Wordpress安装及4.6漏洞问题
    天朝挖煤的题已经不会做了。。
    Python str decode---error
    requests库的初级学习
    Python虚拟环境的搭建
    天朝挖煤CTF
    七、TCP粘包和拆包
    六、Netty的Handler
    五、GoogleProtobuf
    三、Netty高性能架构设计
  • 原文地址:https://www.cnblogs.com/pengsi/p/4846128.html
Copyright © 2011-2022 走看看