IOS笔记(2)

AFNetWorking

1.AFNetworking简介

AFNetworking是一个为 iOS 和 Mac OSX 制作的令人愉快的网络库,它建立在URL 装载系统框架的顶层,内置在Cocoa里,扩展了强有力的高级网络抽象。它的模块架构被良好的设计,拥有丰富的功能。
AFNetworking配置:
(1)从github上下载关于afnetworking的包
(2)将包中的AFNetworking和UIKit+AFNetworking拖入工程项目
(3)导入AFWorking库 #import

2.AFNetworking基本操作

post操作:post是AFNetworking发送数据的主要形式
get操作:get是AFNetworking获取数据的主要形式
post/get 数据有两种形式:
1、纯文本的内容
2、操作的 body 部分带有文件(图片,音频或者其他二进制数据)

步骤:
1. 初始化Session对象
2. 设置请求的接口应返回数据的类型(1,2步可于viewDidload函数中调用)
3. post请求:
[self.Session POST:目标url parameters:数据 progress:^(进度)
success:^(NSURLSessionDataTask * task, id responseObject){
成功了该干的事
}
failure:^(NSURLSessionDataTask * task, NSError * error) {
失败了该干的事
}
];
4. get请求:
[self.session GET:目标url parameters:nil progress:^(NSProgress * downloadProgress) {
下载的进度
} success:^(NSURLSessionDataTask * task, id responseObject) {
请求成功
} failure:^(NSURLSessionDataTask * task, NSError * error) {
请求失败
}];
5.post与get的样例(来源–http://blog.csdn.net/nvermore_/article/details/50602356
POST:

- (void)testPost{  

    NSString *urlString = @"http://quiet.local/posttest/login.php";  

    AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];  
    manager.responseSerializer = [AFHTTPResponseSerializer serializer];  
    [manager POST:urlString parameters:@{@"username":@"test",@"password":@"123"} progress:^(NSProgress * _Nonnull uploadProgress) {  

    } success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable responseObject) {  
        NSString *str = [[NSString alloc] initWithData:responseObject encoding:NSUTF8StringEncoding];  
        NSLog(@"str = %@",str);  
    } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {  
         NSLog(@"error = %@",error);  
    }];  

}   

Get:

(void)testGet{  

    NSString *urlString = @"http://www.baidu.com/s";  
    AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];  
    //参数1:传入网址  
    //参数2:传入网址的参数  
    //下载进度  
    //成功之后执行block  
    //失败之后执行block  
    manager.responseSerializer = [AFHTTPResponseSerializer serializer];  
    [manager GET:urlString parameters:@{@"wd":@"kaka"} progress:^(NSProgress * _Nonnull downloadProgress) {  
        NSLog(@"downloadProgress = %f",downloadProgress.fractionCompleted);  
    } success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable responseObject) {  
        NSString *str = [[NSString alloc] initWithData:responseObject encoding:NSUTF8StringEncoding];  
        NSLog(@"str = %@",str);  
    } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {  
        NSLog(@"error = %@",error);  
    }];  

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值