AFN 整理笔记~~~
来源:互联网 发布:python \ 编辑:程序博客网 时间:2024/05/13 06:43
花了很长时间整理的,希望对大家有帮助:
1. AFN——[[AFNetworkActivityIndicatorManager sharedManager] setEnabled:YES];
一旦有网络访问,自动显示小转轮!显示网络连接状态
cmd + shift + j ====可以展开跳转到的文件目录
NSURLConnection;iOS5 支持取消暂停,断点续传,进度,使用多线程运行
NSURLSession ; iOS7 提供了后台任务,取消暂停,对了管理,进度跟进,
AFN : 封装上面的2个,,提供错误处理,网络监测,身份验证,
2. AFN 常规代码
2.1 AFNHTTPRequireOperationManager 是对 NSURlConnection(iOS5推出)的封装——可以设置请求(二进制)、相应的数据格式(默认json);
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
通过实例化 manager 对象直接调用 get 、 post 方法执行下载。
请求方式——get 参数都显示在url路径中
post 通过请求体发送请求。
head 只包含上传数据的一些信息,(大小、格式)
put 上传文件
patch
请求数据格式——默认是二进制
json 、 plist
响应数据格式—默认json;解析AFJSONResponseSerializer
XML:-(dom一般用于Mac上,耗费资源大 sax 解析)
plist
2.2 AFNHTTPSessionManager是对 NSURlSession(iOS7 推出)的封装———-单例!统一管理所有的网络请求。。。。。。。。。。。
提供了半自动的序列化 反序列化—————状态码: 200 表示数据格式content-type不正确
提供比较完善的错误处理,网络检测,身份验证HTTPs
post 上传
put
步骤:建立单利
指定BaseUrl ——put + 身份验证
进度跟进—-NSProcess + KVO监听
错误处理
3.AFN 标准写法
指定url
建立请求
指定请求方式
(身份验证)
利用单例执行下载—
[[NetworkTools sharedNetworkTools] GET:@"demo.json" parameters:nil finished:^
利用单例执行上传—
[[[NetworkTools sharedNetworkTools] uploadTaskWithRequest:request fromFile:fileURL progress:&progress completionHandler:^(NSURLResponse *response, id responseObject, NSError *error) {
[process addobserver ] 调用 KVO 监听方法 进度跟进———
dealloc——移除监听
3.ASI———-全称是ASIHTTPRequest,外号“HTTP终结者”,功能十分强大。
ASI的实现基于底层的CFNetwork框架,因此运行效率很高。可惜作者早已停止更新,有一些潜在的BUG无人去解决 而且是基于MRC的...需要配置兼容ARC—[-info-objc-arc]
ASI的github地址?
4.如何让学习第三方框架
git 下载更新,获取框架
阅读官方文档
查看事例程序,编写示例代码
请教谷歌 + 大神博客
在 stackoverflow网站上查看
4.默认的网络请求超时时长 ASI 是10秒
苹果官方是60秒
SDWebImage是15秒
AFN是60秒
5.HTTP:通信协议
TCP/IP协议集包括应用层,传输层,网络层,网络访问层。
TCP(Transmission Control Protocol,传输控制协议)需要建立连接 20个字节 对系统要求高
UDP(User Data Protocol,用户数据报协议)不要建立连接,(不可靠可能会丢包)不关注是否能够接收. 8个字节
TCP三次握手过程
1> 请求
* 客户端 --> 服务器
* 请求的内容
a. 请求行(请求方法\HTTP协议\请求资源路径)
b. 请求头(描述客户端的信息)
c. 请求体(POST请求才需要有, 存放具体数据)
2> 响应
* 服务器 --> 客户端
* 响应的内容
a. 状态行(响应行, 状态码)
b. 响应头(服务器信息, 返回数据的类型, 返回数据的长度)
c. 实体内容(响应体, 返回给客户端的具体内容)
3.HTTP请求的方法
1> GET
* 参数都拼接在URL后面
* 参数有限制
2> POST
* 参数都在请求体
* 参数没有限制
- AFN 整理笔记~~~
- AFN框架须知笔记
- iOS AFN 笔记
- AFN
- AFN
- AFN
- AFN
- AFN
- AFN
- AFN
- AFN
- AFN
- AFN
- 整理笔记
- 笔记整理
- 整理笔记
- 整理笔记
- 整理笔记
- 常见错误提示
- 第九周项目4-我的向量类
- XXX.9.png文件的应用和制作
- Android第十六天自定义ContentProvider
- Python自学笔记1-Hello World
- AFN 整理笔记~~~
- (10.2.1)15款优秀移动APP产品原型设计工具
- Android中资源文件中的字符串数组string-array
- 一起talk Vim吧(第十六回:Vim插件之ctags续)
- 北京市人才档案公共管理中心 网址
- android开发之一 —— 按钮响应事件(切换页面)
- 第九周项目5-方程也是类
- 分布式消息系统 Kafka 简介
- Windows上python开发环境的搭建