96 AFNetworking基本使用

1>GET 返回JSON数据:

/**
 *  利用AFN发送一个GET请求,服务器返回的JSON数据
 */
- (void)getJSON
{
    // 1.创建一个请求操作管理者
    AFHTTPRequestOperationManager *mgr = [AFHTTPRequestOperationManager manager];
    // 声明一下:服务器返回的是JSON数据
    //    mgr.responseSerializer = [AFJSONResponseSerializer serializer];
    // responseObject的类型是NSDictionary或者NSArray

    // 2.请求参数
    NSMutableDictionary *params = [NSMutableDictionary dictionary];
    params[@"username"] = @"哈哈哈";
    params[@"pwd"] = @"123";

    // 3.发送一个GET请求
    NSString *url = @"http://localhost:8080/MJServer/login";
    [mgr GET:url parameters:params
     success:^(AFHTTPRequestOperation *operation, id responseObject) {
         // 请求成功的时候调用这个block
         NSLog(@"请求成功---%@", responseObject);
     } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
         // 请求失败的时候调用调用这个block
         NSLog(@"请求失败");
     }];
}
2>GET 返回XML数据:
/**
 *  利用AFN发送一个GET请求,服务器返回的XML数据
 */
- (void)getXML
{
    // 1.创建一个请求操作管理者
    AFHTTPRequestOperationManager *mgr = [AFHTTPRequestOperationManager manager];
    // 声明:等会服务器返回的是XML数据
    // responseObject的类型是NSXMLParser
    mgr.responseSerializer = [AFXMLParserResponseSerializer serializer];

    // 2.请求参数
    NSMutableDictionary *params = [NSMutableDictionary dictionary];
    params[@"username"] = @"哈哈哈";
    params[@"pwd"] = @"123";
    params[@"type"] = @"XML";

    // 3.发送一个GET请求
    NSString *url = @"http://localhost:8080/MJServer/login";
    [mgr GET:url parameters:params
     success:^(AFHTTPRequestOperation *operation, id responseObject) {
         // 请求成功的时候调用这个block
         NSLog(@"请求成功--%@", responseObject);
//         responseObject.delegate = self;
//         [responseObject parse];
     } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
         // 请求失败的时候调用调用这个block
         NSLog(@"请求失败");
     }];
}
3>GET 返回NSData:
/**
 *  利用AFN发送一个GET请求,服务器返回的JSON数据,让AFN直接返回data
 */
- (void)getData
{
    // 1.创建一个请求操作管理者
    AFHTTPRequestOperationManager *mgr = [AFHTTPRequestOperationManager manager];
    // 声明:不要对服务器返回的数据进行解析,直接返回data即可
    // 如果是文件下载,肯定是用这个
    // responseObject的类型是NSData
    mgr.responseSerializer = [AFHTTPResponseSerializer serializer];

    // 2.请求参数
    NSMutableDictionary *params = [NSMutableDictionary dictionary];
    params[@"username"] = @"哈哈哈";
    params[@"pwd"] = @"123";

    // 3.发送一个GET请求
    NSString *url = @"http://localhost:8080/MJServer/login";
    [mgr GET:url parameters:params
     success:^(AFHTTPRequestOperation *operation, id responseObject) {
         // 请求成功的时候调用这个block
         NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:responseObject options:NSJSONReadingMutableLeaves error:nil];

         NSLog(@"%@", dict);
     } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
         // 请求失败的时候调用调用这个block
         NSLog(@"请求失败");
     }];
}
4>POST 返回JSON:
/**
 *  利用AFN发送一个POST请求,服务器返回的JSON数据
 */
- (void)postJSON
{
    // AFHTTPRequestOperationManager 对 NSURLConnection的封装

    // 1.创建一个请求操作管理者
    AFHTTPRequestOperationManager *mgr = [AFHTTPRequestOperationManager manager];

    // 2.请求参数
    NSMutableDictionary *params = [NSMutableDictionary dictionary];
    params[@"username"] = @"哈哈哈";
    params[@"pwd"] = @"123";

    // 3.发送一个GET请求
    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(@"请求失败");
     }];
}
5>AFHTTPSessionManager:

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

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

    }];
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值