分类:常用框架 |
AFNetworking官网入门教程简单翻译,学习
AFNetworking 是一个能够快速使用的ios和mac osx下的网络框架,它是构建在Foundation URL LoadingSystem之上的,封装了网络的抽象层,可以方便的使用,AFNetworking是一个模块化架构,拥有丰富api的框架。
一、HTTP请求与操作:
1、AFHTTPRequestOperationMa
该类封装与Web应用程序进行通信通过HTTP,包括要求制作,响应序列化,网络可达性监控和安全性,以及要求经营管理的常见模式。
GET 请求:
[objc] view plaincopyprint?在CODE上查看代码片派生到我的代码片
AFHTTPRequestOperationMa
[manager GET:@"http://example.com/resources.json"parameters:nilsuccess:^(AFHTTPRequestOperation *operation, id responseObject) {
} failure:^(AFHTTPRequestOperation *operation,NSError *error) {
}];
POST 带有表单参数的POST请求:
[objc] view plaincopyprint?在CODE上查看代码片派生到我的代码片
AFHTTPRequestOperationMa
NSDictionary *parameters =@{@"foo":@"bar"};
[manager POST:@"http://example.com/resources.json"parameters:parameters success:^(AFHTTPRequestOperation *operation,id responseObject) {
} failure:^(AFHTTPRequestOperation *operation,NSError *error) {
}];
POST Multi-Part格式的表单文件上传请求:
[objc] view plaincopyprint?在CODE上查看代码片派生到我的代码片
AFHTTPRequestOperationMa
NSDictionary *parameters =@{@"foo":@"bar"};
NSURL *filePath = [NSURL fileURLWithPath:@"file://path/to/image.png"];
[manager POST:@"http://example.com/resources.json"parameters:parameters constructingBodyWithBloc
} success:^(AFHTTPRequestOperation *operation,id responseObject) {
} failure:^(AFHTTPRequestOperation *operation,NSError *error) {
}];
二、Session管理:
1、AFURLSessionManager:创建和管理制定的NSURLSession对象
2、NSURLSessionConfiguratio
创建一个下载任务:
[objc] view plaincopyprint?在CODE上查看代码片派生到我的代码片
NSURLSessionConfiguratio
AFURLSessionManager *manager = [[AFURLSessionManageralloc] initWithSessionConfigura
NSURL *URL =[NSURL URLWithString:@"http://example.com/upload"];
NSURLRequest *request =[NSURLRequest requestWithURL:URL];
NSURL *filePath = [NSURLfileURLWithPath:@"file://path/to/image.png"];
NSURLSessionUploadTask*uploadTask = [manager uploadTaskWithRequest:requestfromFile:filePath progress:nilcompletionHandler:^(NSURLResponse *response, id responseObject, NSError *error) {
}];
[uploadTask resume];
创建一个数据流任务:
[objc] view plaincopyprint?在CODE上查看代码片派生到我的代码片
NSURLSessionConfiguratio
AFURLSessionManager *manager = [[AFURLSessionManageralloc] initWithSessionConfigura
NSURL *URL = [NSURLURLWithString:@"http://example.com/upload"];
NSURLRequest *request =[NSURLRequest requestWithURL:URL];
NSURLSessionDataTask*dataTask = [manager dataTaskWithRequest:requestcompletionHandler:^(NSURLResponse *response, id responseObject, NSError *error) {
}];
[dataTask resume];
四、使用AFHTTPRequestOperation
1、AFHTTPRequestOperation是使用HTTP或HTTPS协议的AFURLConnectionOperation
它封装的获取后的HTTP状态和类型将决定请求的成功与否。
2、虽然AFHTTPRequestOperationMa
通过GET方式:
[objc] view plaincopyprint?在CODE上查看代码片派生到我的代码片
NSURL *URL = [NSURLURLWithString:@"http://example.com/resources/123.json"];
NSURLRequest *request =[NSURLRequest requestWithURL:URL];
AFHTTPRequestOperation *op = [[AFHTTPRequestOperationalloc] initWithRequest:request];
op.responseSerializer = [AFJSONResponseSerializer
[opsetCompletionBlockWithSu
} failure:^(AFHTTPRequestOperation *operation,NSError *error) {
}];
[[NSOperationQueue mainQueue] addOperation:op];
连续操作多个:
[objc] view plaincopyprint?在CODE上查看代码片派生到我的代码片
NSMutableArray *mutableOperations = [NSMutableArrayarray];
for (NSURL *fileURLin filesToUpload) {
}
NSArray *operations =[AFURLConnectionOperation
} completionBlock:^(NSArray *operations) {
}];
[[NSOperationQueue mainQueue]addOperations:operations waitUntilFinished:NO];