iOS中的AFHttpSessionManager.h 即为ht

2017-05-12  本文已影响272人  helinyu
两个管理的网络类

AFHTTPSessionManager 是AFURLSessionManager的子类,因为这个类可以更加方便通过http来进行请求,get或者post的方法。

ios6 之前os x10.8 都是使用AFHTTPSessionOperationManager 具有相同的作用;

为了个可以get、post方法更加方便,我们重写了dataTAskWithRequest:completionHandler: 这个方法。AFURLRequestSerialization 发送请求,系列化,因为http客户端会有相应的默认的头和编码参数,AFURLResponseSerialization 相应返回。

NSURL+urlWithString 相关的方法更加的方便

AFHTTPSessionManager 类

@interface AFHTTPSessionManager : AFURLSessionManager <NSSecureCoding, NSCopying>
1)@property (readonly, nonatomic, strong, nullable) NSURL//网络请求路径链接 *baeURL;
requestWithMethod:URLString:parameters:(常用语这个方法)

这个方法中使用基本的url,用于发送网络请求

requestWithMethod:URLString:parameters: & multipartFormRequestWithMethod:URLString:parameters:constructingBodyWithBlock:
2) @property (nonatomic, strong) AFHTTPRequestSerializer <AFURLRequestSerialization> * requestSerializer;
默认的头部使用系列化参数通过这个参数指定这个属性,系列化了字符串参数的请求 ,
使用的方式是get,head,delete,url-form-encodes http信息体

3)@property (nonatomic, strong) AFHTTPResponseSerializer <AFURLResponseSerialization> * responseSerializer;
响应的系列化的信息题 (这个对象对象和上面的的对象是对应的)
dataTaskWithRequest:success:failure 这个方法中,

4)+ (instancetype)manager;
创建一个 AFHTTPSessionManager 对象, (也就是http回话管理对象)
5)- (instancetype)initWithBaseURL:(nullable NSURL *)url;
初始化一个AFHTTPSessionManager 对象,这个对象带有url,http客户端的
6)- (instancetype)initWithBaseURL:(nullable NSURL *)url
sessionConfiguration:(nullable NSURLSessionConfiguration *)configuration NS_DESIGNATED_INITIALIZER;
返回一个信息的http客户端,通过一个基本的url,回话配置NSURLSessionConfiguration来创建一个信息的会话管理。
【上面的3个方法都是创建一个AFHTTPSessionManager回话管理对象】

http的网路请求

<1>http的get请求

创建NSURLSessionDataTask(会话的数据任务),

8)
创建NSURLSessionDataTask(会话的数据任务),(多了一个NSProgress的类对象,系统自带的一个方法)

<2>http的 head的网络请求
@see -dataTaskWithRequest:completionHandler:
*/

9)http:的post的请求方法
@see -dataTaskWithRequest:completionHandler:
*/

nullable void (^)(NSURLSessionDataTask *task, id _Nullable responseObject))success
failure:(nullable void (^)(NSURLSessionDataTask * _Nullable task, NSError *error))failure DEPRECATED_ATTRIBUTE;

@see -dataTaskWithRequest:uploadProgress:downloadProgress:completionHandler:
*/这个请求是带有下载的请求的方式:

@see -dataTaskWithRequest:completionHandler:
*/待有form的方式来进行发送网络请求:

formData))block
success:(
nullable void (^)(NSURLSessionDataTask *task, id _Nullable responseObject))success
failure:(nullable void (^)(NSURLSessionDataTask * _Nullable task, NSError *error))failure DEPRECATED_ATTRIBUTE;

@see -dataTaskWithRequest:uploadProgress:downloadProgress:completionHandler:
*/这种方式是增加了uploadProgress 、 AFMultipartFormData的数据结构,以及我们的下载的方式进行

formData))block
progress:(
nullable void (^)(NSProgress
*uploadProgress)) uploadProgress
success:(
nullable void (^)(NSURLSessionDataTask *task, id _Nullable responseObject))success
failure:(nullable void (^)(NSURLSessionDataTask * _Nullable task, NSError *error))failure;

<3>下面是http的put的方式来发送网路请求

@see -dataTaskWithRequest:completionHandler:
*/

<4>
@see -dataTaskWithRequest:completionHandler:
*/这个是patch的发送的网路请求

<5>
下面是delete的方式进行发送网路的请求
@see -dataTaskWithRequest:completionHandler:
*/

@end

AFHTTPSessionManager 这个类中基本是可以进行相关的内容来进行实现的。
——> 这个类中基本上就是对这个相关的回话内容来发送网络请求的

上一篇下一篇

猜你喜欢

热点阅读