(2) XML 处理-返回的是 xml 类型数据,需对其进行解析
(3) 其他类型数据处理
3、监听请求过程 1
)AFN 提供了success 和 failure 两个 block 来监听请求的过程(只能监听成功和失败)
success : 请求成功后调用 failure : 请求失败后调用2)ASI 提供了 3 套方案,每一套方案都能监听请求的完整过程(监听请求开始、接收到响应头信息、接受到具体数据、接受完毕、请求失败)
成为代理,遵守协议,实现协议中的代理方法 成为代理,不遵守协议,自定义代理方法 设置 block4、在文件下载和文件上传的使用难易度
1)AFN
不容易实现监听下载进度和上传进度 不容易实现断点续传 一般只用来下载不大的文件2)ASI
非常容易实现下载和上传 非常容易监听下载进度和上传进度 非常容易实现断点续传 下载大文件或小文件均可3)实现下载上传推荐使用 ASI
5、网络监控
1)AFN 自己封装了网络监控类,易使用
2)ASI 使用的是 Reachability,因为使用 CocoaPods 下载 ASI 时,会同步下载 Reachability,但 Reachability 作为网络监控使用较为复杂(相对于 AFN 的网络监控类来说)
3)推荐使用 AFN 做网络监控 AFNetworkReachabilityManager
6、ASI 提供的其他实用功能
1)控制信号旁边的圈圈要不要在请求过程中转
2)可以轻松地设置请求之间的依赖:每一个请求都是一个 NSOperation 对象
3)可以统一管理所有请求(还专门提供了一个叫做 ASINetworkQueue 来管理所有的请求对象) 暂停/恢复/取消所有的请求
监听整个队列中所有请求的下载进度和上传进度
2、ASIHTTPRequest 的使用
2.1 添加 ASIHTTPRequest
Github 网址: https://www.easck.com/ASIHTTPRequest/
ASIHTTPRequest 系统需求:
| ASIHTTPRequest Version | Minimum iOS Target | Target Notes |
|---|---|---|
| 1.8.1 -> 1.8.2 | iOS 3.0+ | |
| 0.2 -> 1.8.0 |
ASIHTTPRequest 使用 MRC
Objective-C
// 添加系统库文件
CFNetwork.framework
SystemConfiguration.framework
MobileCoreServices.framework
CoreGraphics.framework
libz.1.1.3.tbd
libxml2.2.tbd
// 添加第三方库文件
ASIHTTPRequest-1.8.2
// 在 TARGETS -> Builed Settings -> Search Paths -> Header Search Paths 中添加文件路径
/usr/include/libxml2
// 在 TARGETS -> Build Phases -> Compile Sources -> ...in .../ASIHTTPRequest 后添加
-fno-objc-arc
// 包含头文件
#import "ASIHTTPRequest.h"
#import "ASIFormDataRequest.h"










