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的简单使用的更多相关文章

  1. iOS基础 - 第三方网络框架

    一.iOS网络层次结构 基于iOS提供API实现上传文件和断点续传的思路 常用iOS第三方网路框架简介 AFNetworking(AFN) ASIHTTPRequest(ASI) 另外一个常用框架 S ...

  2. [ 流行的网络框架 ] AFN & ASI

    1.AFN & ASI(早已经停止更新,但现在许多公司也在使用.) AFNetWorking地址:https://github.com/AFNetworking/AFNetworking AS ...

  3. Android网络框架OkHttp之get请求(源码初识)

    概括 OkHttp现在很火呀.于是上个星期就一直在学习OkHttp框架,虽然说起来已经有点晚上手了,貌似是2013年就推出了.但是现在它版本更加稳定了呀.这不,说着说着,OkHttp3.3版本在这几天 ...

  4. IOS-常用第三方开源框架介绍

    iOS开发-常用第三方开源框架介绍(你了解的ios只是冰山一角) 时间:2015-05-06 16:43:34      阅读:533      评论:0      收藏:0      [点我收藏+] ...

  5. iOS开发-常用第三方开源框架介绍

    iOS开发-常用第三方开源框架介绍 图像: 1.图片浏览控件MWPhotoBrowser        实现了一个照片浏览器类似 iOS 自带的相册应用,可显示来自手机的图片或者是网络图片,可自动从网 ...

  6. iOS常用第三方开源框架和优秀开发者博客等

    博客收藏iOS开发过程好的开源框架.开源项目.Xcode工具插件.Mac软件.文章等,会不断更新维护,希望对你们有帮助.如果有推荐或者建议,请到此处提交推荐或者联系我. 该文档已提交GitHub,点击 ...

  7. Android网络框架源码分析一---Volley

    转载自 http://www.jianshu.com/p/9e17727f31a1?utm_campaign=maleskine&utm_content=note&utm_medium ...

  8. Android中android-async-http开源网络框架的简单使用

    android-async-http开源网络框架是专门针对Android在Apache的基础上构建的异步且基于回调的http client.所有的请求全在UI线程之外发生,而callback发生在创建 ...

  9. 结合Retrofit,RxJava,Okhttp,FastJson的网络框架RRO

    Retrofit以其灵活的调用形式, 强大的扩展性著称. 随着RxAndroid的推出, Retrofit这样的可插拔式的网络框架因其可以灵活兼容各种数据解析器, 回调形式(主要还是RxJava啦)而 ...

随机推荐

  1. tab,tabCon里放很多div,点击左右滑动一个。可根据初始化清除空的tabCon。

    效果如上,左右箭头点击,相应左右滑动一个功能菜单的长度,点击BTN2时若所有功能菜单没溢出就不显示箭头不允许左右滑动. 可根据初始化功能菜单的个数,判断.若某个tabCon没有内容,则删除相应tabC ...

  2. wmic 命令的一个汇总,功能很强大

    获得系统版本信息wmic datafile where Name='c:\\windows\\explorer.exe' get Manufacturer,Version,Filename 获得系统进 ...

  3. Oracle 11g default profile 默认启用密码过期180天 ORA-28001错误处理

    问题描述:客户反映客户端不能登录应用程序时不能连接.环境:AIX 5.3 + Oracle 11gR2解决:远程Telnet到数据库主机,sqlplus / as sysdba 连接后操作正常,表明数 ...

  4. Scala学习(一)

    最近在学习Scala,总结了一下比较基础的知识. 一.Scala简介 1.Scalable Language,是一门多范式的编程语言,是一种纯面向对象的语言,每个值都是对象. 2.特点:①Scalab ...

  5. Web自动化测试学习方向(Selenium)

    目前越来越多的人想学自动化测试,认为自动化测试好牛逼.经常在测试交流群里看见有HR发招聘广告说:招初级(功能测试),招中级(性能测试),招高级(自动化测试)...... 我不去讨论他们这个初中高级的说 ...

  6. protocol buffer c++ python库安装

    c++库安装较简单,不要用源码,还得下载依赖,就被墙了 https://github.com/google/protobuf/releases  下载一个最新的release安装 #protoc -- ...

  7. SQLSERVER和ORACLE系统表获取表名 列名以及列的注释

    在工作中从数据库取的数据要导出来,但是发现导出的EXCEL中列名都是字段名(英文),为此搜集资料怎么把字段名变为中文名称,而发现ORACLE和SQLSERVER(用的SQLSERVER2008R2)又 ...

  8. Android广播

    Android中的广播主要分为两类,标准广播和有序广播   标准广播: 一种完全异步执行的广播,在广播发出之后,所有的广播接收器几乎都会在同一时刻接收到这条广播消息,因此没有任何的先后顺序 这种广播的 ...

  9. [CentOS] 指定命令别名:Alias & 软链接生成命令 ln -s

    参考:CentOS里alias命令详解 每天一个linux命令(35):ln 命令 1. Alias命令 功能描述:我们在进行系统的管理工作一定会有一些我们经常固定使用,但又很长的命令.那我们可以给这 ...

  10. oracle 查看锁死的表,锁死的进程

    select sess.sid, sess.serial#, lo.oracle_username, lo.os_user_name, ao.object_name, lo.locked_mode f ...