2016 - 1 - 25 第三方网络框架 AFN的简单使用
AFNetworking 底层是对NSURlSession 和对 NSURLConnect 的包装
1.具体使用方法可以参照github上的主页面,在这里只是举一个文件上传的简单列子
- (void)update{
AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
[manager POST:@"http://120.25.226.186:32812/upload" parameters:nil constructingBodyWithBlock:^(id<AFMultipartFormData> formData) {// 在这个block中设置需要上传的文件
NSData *data = [NSData dataWithContentsOfFile:@"/Users/mac/Desktop/屏幕快照 2016-01-24 下午3.39.13.png"];
[formData appendPartWithFileData:data name:@"file" fileName:@"test.png" mimeType:@"image/png"];
} success:^(NSURLSessionDataTask *task, id responseObject) {
NSLog(@"成功!");
} failure:^(NSURLSessionDataTask *task, NSError *error) {
NSLog(@"失败!");
}];
}
2.简单介绍下如何利用afnetworking解析服务器的数据
2.1如果返回的数据格式是XML或者json时 可以按照以下办法:
- (void)update{
AFHTTPSessionManager *mgr = [AFHTTPSessionManager manager];
// 可以改变mgr 解析的服务器返回数据的方式 默认是解析JSON
// 在这里改为按xml格式解析数据
mgr.responseSerializer = [AFXMLParserResponseSerializer serializer];
NSDictionary *parameters = @{
@"username" : @"",
@"pwd" : @"",
@"type" : @"XML"
};
[mgr GET:@"http://120.25.226.186:32812/login2" parameters:parameters success:^(NSURLSessionDataTask *task, id responseObject) {
NSLog(@"sece %@",responseObject);
} failure:^(NSURLSessionDataTask *task, NSError *error) {
NSLog(@"error");
}];
}
2.2 如果是返回的是特殊格式 比如文件下载中返回数据
- (void)update{
AFHTTPSessionManager *mgr = [AFHTTPSessionManager manager];
// 按服务器返回数据类型解析
mgr.responseSerializer = [AFHTTPResponseSerializer serializer];
// [AFXMLParserResponseSerializer serializer] // 服务器返回XML数据的解析器
// [AFJSONResponseSerializer serializer] // 服务器返回JSON的数据解析器
[mgr GET:@"http://120.25.226.186:32812/resources/images/minion_15.png" parameters:nil success:^(NSURLSessionDataTask *task, id responseObject) {
NSLog(@"sece %@",responseObject);
} failure:^(NSURLSessionDataTask *task, NSError *error) {
NSLog(@"error");
}];
}
2016 - 1 - 25 第三方网络框架 AFN的简单使用的更多相关文章
- iOS基础 - 第三方网络框架
一.iOS网络层次结构 基于iOS提供API实现上传文件和断点续传的思路 常用iOS第三方网路框架简介 AFNetworking(AFN) ASIHTTPRequest(ASI) 另外一个常用框架 S ...
- [ 流行的网络框架 ] AFN & ASI
1.AFN & ASI(早已经停止更新,但现在许多公司也在使用.) AFNetWorking地址:https://github.com/AFNetworking/AFNetworking AS ...
- Android网络框架OkHttp之get请求(源码初识)
概括 OkHttp现在很火呀.于是上个星期就一直在学习OkHttp框架,虽然说起来已经有点晚上手了,貌似是2013年就推出了.但是现在它版本更加稳定了呀.这不,说着说着,OkHttp3.3版本在这几天 ...
- IOS-常用第三方开源框架介绍
iOS开发-常用第三方开源框架介绍(你了解的ios只是冰山一角) 时间:2015-05-06 16:43:34 阅读:533 评论:0 收藏:0 [点我收藏+] ...
- iOS开发-常用第三方开源框架介绍
iOS开发-常用第三方开源框架介绍 图像: 1.图片浏览控件MWPhotoBrowser 实现了一个照片浏览器类似 iOS 自带的相册应用,可显示来自手机的图片或者是网络图片,可自动从网 ...
- iOS常用第三方开源框架和优秀开发者博客等
博客收藏iOS开发过程好的开源框架.开源项目.Xcode工具插件.Mac软件.文章等,会不断更新维护,希望对你们有帮助.如果有推荐或者建议,请到此处提交推荐或者联系我. 该文档已提交GitHub,点击 ...
- Android网络框架源码分析一---Volley
转载自 http://www.jianshu.com/p/9e17727f31a1?utm_campaign=maleskine&utm_content=note&utm_medium ...
- Android中android-async-http开源网络框架的简单使用
android-async-http开源网络框架是专门针对Android在Apache的基础上构建的异步且基于回调的http client.所有的请求全在UI线程之外发生,而callback发生在创建 ...
- 结合Retrofit,RxJava,Okhttp,FastJson的网络框架RRO
Retrofit以其灵活的调用形式, 强大的扩展性著称. 随着RxAndroid的推出, Retrofit这样的可插拔式的网络框架因其可以灵活兼容各种数据解析器, 回调形式(主要还是RxJava啦)而 ...
随机推荐
- linux 记录用户操作记录日志
####################################################################################historyUSER_IP=$ ...
- CentOS下设置MySQL的root密码
CentOS刚装的MySQL一般需要重设MySQL密码,可以用以下方法重设. 方法一. Js代码 # /etc/init.d/mysqld stop # mysqld_safe --user=my ...
- HTML页面优化
第一步:加载优化 减少HTTP请求. 因为手机浏览器同时响应请求为4个请求(Android支持4个,iOS 5后可支持6个),所以要尽量减少页面的请求数,首次加载同时请求数不能超过4个.a) 合并CS ...
- 如何在VISIO 2010/2013 中关闭Shape protection(图形保护)
最近在画UML图,用到MS visio 2010, 在使用一些网络查找到的图形的时候发现无法编辑,在网上找了找,翻译了下. Visio 2013 的图形保护功能,可以锁定图形的某些特定属性,使其无法被 ...
- gulp教程之gulp-htmlmin
简介: 使用gulp-htmlmin压缩html,可以压缩页面javascript.css,去除页面空格.注释,删除多余属性等操作. 1.安装nodejs/全局安装gulp/本地安装gulp/创建pa ...
- 20169212《Linux内核原理与分析》第七周作业
实验 给MenuOS增加time和time-asm命令的方法: 更新menu代码到最新版 再main()函数中增加MenuConfig 增加对应的Time函数和TimeAsm函数(这里的函数要换成我们 ...
- 从mixin到new和prototype:Javascript原型机制详解
从mixin到new和prototype:Javascript原型机制详解 这是一篇markdown格式的文章,更好的阅读体验请访问我的github,移动端请访问我的博客 继承是为了实现方法的复用 ...
- Android开发--apk的生成
0.前言 此方法为eclipse中生成apk的方法!!!! 1.生成ketstore 在命令提示符中找到java的jdk路径,例如: D:\study software\Java\jdk1.8.0_2 ...
- java selenium (十三) 智能等待页面加载完成
我们经常会碰到用selenium操作页面上某个元素的时候, 需要等待页面加载完成后, 才能操作. 否则页面上的元素不存在,会抛出异常. 或者碰到AJAX异步加载,我们需要等待元素加载完成后, 才能操 ...
- jquery触屏幻灯片
一.前言 去年接触了移动Web开发,做了些手机端的网站及应用,还有些小的微信游戏和活动页面.每个项目里或多或少的都会有一些触屏事件等.其中有两个用到了jquery触屏幻灯片.刚开始的时候也在百度上搜索 ...