IOS 网络浅析-(十一 三方 AFNetworking3.0简介)
2016-03-22 19:11
267 查看
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) { }];
相关文章推荐
- Nginx + https + 免费SSL证书配置指南
- 基于深度循环神经网络(DRNN)的单通道音乐人声分离
- Tomcatserverhttps协议配置简单介绍
- BZOJ 1001 狼抓兔子 (网络流最小割/平面图的对偶图的最短路)
- linux网络属性配置
- CloseableHttpClient
- java调用Http请求 -HttpURLConnection学习
- Linux后台网络编程中select/poll/epoll的比较分析
- UNIX网络编程:select,epoll,poll比较
- 使用node的http模块实现爬虫功能,并把爬到的数据存入mongondb
- 转:http2基本中文翻译
- Java网络编程之Socket与SocketServer
- 转:http2的资料与使用
- kernel: httpd[6430]: segfault at* rsp * error 6
- Android Studio 添加 Volley开源网络框架
- volley get网络请求
- 访问网络共享找不到网络名的解决方案
- Linux下tcpdump 和 windows下wireshark过滤
- 无法访问您试图使用的功能所在的网络位置 无法找到vcredist.msi的解决办法
- iOS9下http及https