IOS 网络浅析-(十一 三方 AFNetworking3.0简介)
2017-06-18 22:10
597 查看
AFNetworking3.0是目前最新的版本,本来打算介绍一下2.6,但是想想2.6名不久矣,就决定不介绍了,有兴趣的小伙伴可以上网查一查。下面我就开始进入正题了。
目前使用人数最多的第三方网络库,没有之一。从开始的NSURLConnection到现在的NSURLSession,它都一直保持着与苹果的步调一致,而由它也衍生出大量的相关第三方网络功能库,不仅仅因为他的可靠,好用,一直保持着维护更新,也是为什么它这么受到广大程序员的青睐。
上传data
上传文件
Get
Post
GetXML
目前使用人数最多的第三方网络库,没有之一。从开始的NSURLConnection到现在的NSURLSession,它都一直保持着与苹果的步调一致,而由它也衍生出大量的相关第三方网络功能库,不仅仅因为他的可靠,好用,一直保持着维护更新,也是为什么它这么受到广大程序员的青睐。
上传data
// // ViewController.m // CX- AFNetworking3.0简介 // // Created by ma c on 16/3/22. // Copyright © 2016年 xubaoaichiyu. All rights reserved. // #import "ViewController.h" #import "AFNetworking.h" @interface ViewController () @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; [self upLoadData]; } //上传data -(void)upLoadData{ UIImage * image = [UIImage imageNamed:@"renminbi.jpg"]; NSData * data = UIImageJPEGRepresentation(image, 1); AFHTTPSessionManager * manager = [AFHTTPSessionManager manager]; /* POST 上传地址 parameters 文本参数 constructingBodyWithBlock 上传文件的block,有可能多次调用 progress 上传进度 success 上传成功 failure 上传失败 */ [manager POST:@"http://localhost/post/upload.php" parameters:nil constructingBodyWithBlock:^(id<AFMultipartFormData> _Nonnull formData) { /* formData 上传的数据 FileData 上传文件的data name 上传文件的key fileName 服务器上的名字 mimeType 上传资源的类型 */ [formData appendPartWithFileData:data name:@"userfile00" fileName:@"xubaoaichiyu" mimeType:@"image/jpg"]; } progress:^(NSProgress * _Nonnull uploadProgress) { NSLog(@"%@",uploadProgress); } success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) { NSLog(@"成功->%@",responseObject); } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) { NSLog(@"失败->%@",error); }]; } @end
上传文件
//上传文件 AFHTTPSessionManager * manager = [AFHTTPSessionManager manager]; /* POST 上传地址 parameters 文本参数 constructingBodyWithBlock 上传文件的block,有可能多次调用 progress 上传进度 success 上传成功 failure 上传失败 */ [manager POST:@"http://localhost/post/upload.php" parameters:nil constructingBodyWithBlock:^(id<AFMultipartFormData> _Nonnull formData) { /* formData 上传的数据 FileData 上传文件的data name 上传文件的key fileName 服务器上的名字 mimeType 上传资源的类型 */ NSURL * url = [[NSBundle mainBundle] URLForResource:@"renminbi.jpg" withExtension:nil]; [formData appendPartWithFileURL:url name:@"userfile00" fileName:@"xubaoaichiyu" mimeType:@"image/jpg" error:nil]; } progress:^(NSProgress * _Nonnull uploadProgress) { NSLog(@"%@",uploadProgress); } success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) { NSLog(@"成功->%@",responseObject); } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) { NSLog(@"失败->%@",error); }];
Get
AFHTTPSessionManager * manager = [AFHTTPSessionManager manager]; [manager GET:@"http://localhost/post/upload.php" parameters:nil progress:^(NSProgress * _Nonnull downloadProgress) { } success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) { } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) { }];
Post
AFHTTPSessionManager * manager = [AFHTTPSessionManager manager]; [manager POST:@"http://localhost/post/upload.php" parameters:nil progress:^(NSProgress * _Nonnull downloadProgress) { } success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) { } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) { }];
GetXML
AFHTTPSessionManager * manager = [AFHTTPSessionManager manager]; manager.requestSerializer = [AFHTTPRequestSerializer serializer]; manager.responseSerializer = [AFXMLParserResponseSerializer serializer]; [manager GET:@"http://localhost/post/upload.php" parameters:nil progress:^(NSProgress * _Nonnull downloadProgress) { } success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) { } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) { }];
相关文章推荐
- IOS 网络浅析-(十一 三方 AFNetworking3.0简介)
- IOS 网络浅析-(十一 三方 AFNetworking3.0简介)
- IOS 网络浅析-(六 网络图片获取之三方SDWebImage)
- IOS 网络浅析-(七 JSON解析之三方JSONKit)
- ios AFNetworking3.0 请求网络数据
- IOS 网络浅析-(九 NSURLSession代理简介)
- IOS 网络浅析-(十二 UIWebView简介)
- iOS 使用AFNetworking 3.0库进行网络请求时,取消单个队列和全部队列的方法(取消网络请求)
- iOS 网络 - AFNetworking 3.0
- IOS 网络浅析-(十 NSURLSession下载简介)
- iOS 开发 AFNetworking3.0源码解析(一:结构图/网络请求三次封装/上传下载/网络监测)
- IOS 网络浅析-(十二 UIWebView简介)
- IOS AFNetworking3.0 SDImage 网络请求和图片加载
- IOS 网络浅析-(十二 UIWebView简介)
- IOS 网络浅析-(八 NSURLSession简介)
- 网络请求-AFNetworking3.0使用简介
- iOS --- AFNetworking3.0网络请求方法封装(自带缓存功能)
- iOS开发网络数据之AFNetworking使用
- iOS开发之网络开发——AFNetWorking
- IOS AFNetworking简介及使用