博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
AFNetworking 的使用
阅读量:2351 次
发布时间:2019-05-10

本文共 4348 字,大约阅读时间需要 14 分钟。

   1:AFNetworking简称为AFN,是对NSURLConnection,NSURLSession的一层封装

  2:使用:现在项目中导入AFNetworking,在头文件中包含,即

     #import "AFNetworking.h"

 

下面我就直接贴代码了,里面有详细的解释

get方法,解析json

-(void)getjson{    //1.创建一个请求管理者    AFHTTPRequestOperationManager *mgr = [AFHTTPRequestOperationManager manager];        //声明一下:服务器返回的是json数据,默认返回的是json数据,所以不用声明    //mgr.responseSerializer = [AFJSONResponseSerializer serializer];    //responseObject 类型是NSDictionary或者是NSArray        //2.请求参数,    NSMutableDictionary *params = [NSMutableDictionary dictionary];    params[@"Service"] = @"adminCoach";    params[@"Loginname"] = @"admim";    params[@"Page"] = @"1";            //3.发送一个get请求        NSString *url = @"http://localhost:8080/Jiaxiao2/admin.php/Appadmin/index";    [mgr GET:url parameters:params success:^(AFHTTPRequestOperation *operation, id responseObject) {        //请求成功时调用这个block                NSLog(@"请求成功-----%@",responseObject);    } failure:^(AFHTTPRequestOperation *operation, NSError *error) {        //请求失败时调用这个block                NSLog(@"请求失败");    }]; }

get方法,解析XML

-(void)getXML{    //1.创建一个请求管理者    AFHTTPRequestOperationManager *mgr = [AFHTTPRequestOperationManager manager];            //声明一下:服务器返回的是XML数据    //responseObject 类型是NSXMLParser    mgr.responseSerializer = [AFXMLParserResponseSerializer serializer];        //2.请求参数    NSMutableDictionary *params = [NSMutableDictionary dictionary];    params[@"username"] = @"123";    params[@"pwd"] = @"345";    params[@"type"] = @"XML";        //3.发送一个get请求,返回来的是NSXMLParser        NSString *url = @"http://localhost:8080/zhong/login";    [mgr GET:url parameters:params success:^(AFHTTPRequestOperation *operation, NSXMLParser *responseObject) {        //请求成功时调用这个block                NSLog(@"请求成功-----%@",responseObject);        //对NSXMLParser进行解析        //设置代理//        responseObject.delegate =self;//        [responseObject parse];                    } failure:^(AFHTTPRequestOperation *operation, NSError *error) {        //请求失败时调用这个block                NSLog(@"请求失败");    }];}

get方法,解析data

-(void)getData{        //1.创建一个请求管理者    AFHTTPRequestOperationManager *mgr = [AFHTTPRequestOperationManager manager];            //声明一下:服务器返回的是data数据,即不要对服务器返回的数据进行解析,直接返回data即可    //文件下载肯定是用这个    //responseObject 类型是NSData    mgr.responseSerializer = [AFHTTPResponseSerializer serializer];        //2.请求参数    NSMutableDictionary *params = [NSMutableDictionary dictionary];    params[@"username"] = @"123";    params[@"pwd"] = @"345";        //3.发送一个get请求,返回来的是NSXMLParser        NSString *url = @"http://localhost:8080/zhong/login";    [mgr GET:url parameters:params success:^(AFHTTPRequestOperation *operation, id responseObject) {        //请求成功时调用这个block                NSLog(@"请求成功-----%@",[responseObject class]);//        //返回的是xml时//        NSXMLParser *parser = [[NSXMLParser alloc]initWithData:responseObject];//         //返回的是json时//        NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:responseObject options:NSJSONReadingMutableLeaves error:nil];                    } failure:^(AFHTTPRequestOperation *operation, NSError *error) {        //请求失败时调用这个block                NSLog(@"请求失败");    }];}

post方法,解析json

-(void)postjson{    //1.创建一个请求管理者    AFHTTPRequestOperationManager *mgr = [AFHTTPRequestOperationManager manager];        //声明一下:服务器返回的是json数据,默认返回的是json数据,所以不用声明    //mgr.responseSerializer = [AFJSONResponseSerializer serializer];    //responseObject 类型是NSDictionary或者是NSArray        //2.请求参数,    NSMutableDictionary *params = [NSMutableDictionary dictionary];    params[@"Service"] = @"adminCoach";    params[@"Loginname"] = @"admim";    params[@"Page"] = @"1";            //3.发送一个POST请求        NSString *url = @"http://localhost:8080/Jiaxiao2/admin.php/Appadmin/index";    [mgr POST:url parameters:params success:^(AFHTTPRequestOperation *operation, id responseObject) {        //请求成功时调用这个block                NSLog(@"请求成功-----%@",responseObject);    } failure:^(AFHTTPRequestOperation *operation, NSError *error) {        //请求失败时调用这个block                NSLog(@"请求失败");    }]; }

-(void)getSession{        //AFHTTPSessionManager 对NSURLSession的封装    AFHTTPSessionManager *mgr = [AFHTTPSessionManager manager];    [mgr GET:@"" parameters:nil success:^(NSURLSessionDataTask *task, id responseObject) {            } failure:^(NSURLSessionDataTask *task, NSError *error) {          }];}

转载地址:http://fxrvb.baihongyu.com/

你可能感兴趣的文章
GitHub上整理的一些工具
查看>>
python range 与xrange的区别
查看>>
算法-最长递增子序列
查看>>
最大子序列、最长递增子序列、最长公共子串、最长公共子序列、字符串编辑距离
查看>>
回文字符序列
查看>>
inline函数必须在头文件中定义吗?
查看>>
内存泄漏检查工具valgrind使用方法
查看>>
Solution of Codility
查看>>
java解析XML的四种方式及比较
查看>>
单例模式(java)详细
查看>>
策略模式(java)
查看>>
java线程中信号量Semaphore类的应用
查看>>
如何设置CentOS为中文显示
查看>>
Nginx配置
查看>>
php-fpm配置
查看>>
Centos 系统时间与当前时间相差和时区解决办法
查看>>
Linux下如何进行FTP设置
查看>>
linux之LVM操作案例
查看>>
由于CentOS的系统安装了epel-release-latest-7.noarch.rpm 导致在使用yum命令时出现Error: xz compression not available问题。
查看>>
php中抽象类和接口的概念与区别
查看>>