AFN基本使用
GET请求:
-(void)get1
{
// 1.创建AFHTTPSessionManager管理者
// AFHTTPSessionManager内部是基于NSURLSession实现的
AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
// 2.发送请求
NSDictionary *param = @{
@"username":@"520it",
@"pwd":@"520it"
};
// 注意:responseObject:请求成功返回的响应结果(AFN内部已经把响应体转换为OC对象,通常是字典或数组)
/*
第一个参数:请求路径(不包含参数)
第二个参数:字典(发送给服务器的参数)
第三个参数:成功的回调
*/
[manager GET:@"http://120.25.226.186:32812/login" parameters:param success:^(NSURLSessionDataTask * _Nonnull task, id _Nonnull responseObject) {
//task里面包含了响应头信息
NSLog(@"请求成功---%@",[responseObject class]);
} failure:^(NSURLSessionDataTask * _Nonnull task, NSError * _Nonnull error) {
NSLog(@"失败---%@",error);
}];
}
}
-(void)post1
{
// 1.创建AFHTTPSessionManager管理者
// AFHTTPSessionManager内部是基于NSURLSession实现的
AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
// 2.发送请求
NSDictionary *param = @{
@"username":@"520it",
@"pwd":@"520it"
};
// 注意:responseObject:请求成功返回的响应结果(AFN内部已经把响应体转换为OC对象,通常是字典或数组)
/*
第一个参数:请求路径(不包含参数)
第二个参数:字典(发送给服务器的参数)
第三个参数:成功的回调
*/
[manager POST:@"http://120.25.226.186:32812/login" parameters:param success:^(NSURLSessionDataTask * _Nonnull task, id _Nonnull responseObject) {
//task里面包含了响应头信息
NSLog(@"请求成功---%@",[responseObject class]);
} failure:^(NSURLSessionDataTask * _Nonnull task, NSError * _Nonnull error) {
NSLog(@"失败---%@",error);
}];
}
}
AFN实现文件下载
-(void)download
{
//1.创建一个管理者
AFHTTPSessionManager *manage = [AFHTTPSessionManager manager];
//2.下载文件
/*
第一个参数:请求对象
第二个参数:下载进度
第三个参数:block回调,需要返回一个url地址,用来告诉AFN下载文件的目标地址
targetPath:AFN内部下载文件存储的地址,tmp文件夹下
response:请求的响应头
返回值:文件应该剪切到什么地方
第四个参数:block回调,当文件下载完成之后调用
response:响应头
filePath:文件存储在沙盒的地址 == 第三个参数中block的返回值
error:错误信息
*/
//2.1 创建请求对象
NSURLRequest *request