iOS网络笔记--AFNetWorking发送GET、POST和下载 

AFNetWorking的使用比起ASI使用貌似更为简单,而且采用的也是自动内存管理。因此,使用的时候,只需要先把AFNetWorking的类加进来,导入头文件即可;使用起来也非常简单,基本上分为四步。

/*  AFNworking使用思路
1  确定数据url
2  创建请求对象
3  设置请求类型
4  发送请求 
ps 本博客基于的AFNetWorking的版本为2.x*/
 
GET与POST代码部分(练习的时候,可以使用本人上次在ASI使用的服务器  http://blog.csdn.net/csdn_hhg/article/details/49157899 )
#import "ViewController.h"
#import "AFNetworking.h"
@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    [self sendPostRequest];   
}

#pragma mark - Request
-(void)sendPostRequest{
    // 数据
    NSString *urlstring = @"http://127.0.0.1:8080/A/a";
    NSDictionary *dict =@{
                          @"command":@"1",
                          @"name":@"zhangsan",
                          @"psw":@"123456"
                          };
    
    // 写请求对象
    AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
    
    // 接收的输入类型
    manager.responseSerializer = [AFHTTPResponseSerializer serializer];
    
    //post请求
    [manager POST:urlstring parameters:dict success:^(AFHTTPRequestOperation *operation, id responseObject) {
        NSLog(@" %@     -  %@",operation.responseString,responseObject);
        
    } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
        
        NSLog(@" 失败%@    ",[error localizedDescription]);
    }];   
}

-(void)sendGetRequest{
    // 数据
    NSString *urlstring = @"http://127.0.0.1:8080/A/a?command=0&name=1&psw=2&truename=2&email=1";
    
    // 写请求对象
    AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
    
    // 接收的输入类型
    manager.responseSerializer = [AFHTTPResponseSerializer serializer];
    
    
    // get请求
    [manager GET:urlstring parameters:nil success:^(AFHTTPRequestOperation *operation, id responseObject) {
        NSLog(@" %@     -  %@",operation.responseString,responseObject);
    } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
        
        NSLog(@" 失败%@    ",[error localizedDescription]);
    }];
    
}
@end

 

文件的下载实际上就是通过AFNworking发送get请求,返回一个文件,然后通过Nsdata的写入文件即可。

  /* AFN文件下载 */

    // 请求数据

    NSString *urlString = @"http://d.hiphotos.baidu.com/image/pic/item/267f9e2f07082838e44bf5d5ba99a9014d08f1a9.jpg";

    

    // 请求对象 单例

    AFHTTPRequestOperationManager *getManager = [AFHTTPRequestOperationManager manager];

    

    // 请求数据类型

    getManager.responseSerializer = [AFImageResponseSerializer serializer];

    

    // 发送请求

    

    [getManager GET:urlString parameters:nil success:^(AFHTTPRequestOperation *operation, id responseObject) {

        // 发送请求成功

        [operation.responseData writeToFile:@"/Users/xinguo/Desktop/myDownload.jpg" atomically:YES];

        NSLog(@"下载成功");

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

        // 发送失败

        NSLog(@"%@",  [error localizedDescription]);

    }];

 

完整demo:http://download.csdn.net/detail/csdn_hhg/9200839

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值