AFHTTPClient 构建了一种web 应用基于HTTP通信的常用模式。其中封装了baseURL,认证证书,HTTP headers等信息,我们使用它们来构建管理HTTP请求操作的执行。目前版本AFN中已经被移除。
1.URL构建
-requestWithMethod:path:parameters:
-multipartFormRequestWithMethod:path:parameters:constructingBodyWithBlock:
构建的URL都是以
`NSURL +URLWithString:relativeToURL: 通过baseURL + path 的形式形成的
eg:
NSURL *baseURL = [NSURL URLWithString:@"http://example.com/v1/"];
[NSURL URLWithString:@"foo" relativeToURL:baseURL]; // http://example.com/v1/foo
[NSURL URLWithString:@"foo?bar=baz" relativeToURL:baseURL]; // http://example.com/v1/foo?bar=baz
[NSURL URLWithString:@"/foo" relativeToURL:baseURL]; // http://example.com/foo
[NSURL URLWithString:@"foo/" relativeToURL:baseURL]; // http://example.com/v1/foo
[NSURL URLWithString:@"/foo/" relativeToURL:baseURL]; // http://example.com/foo/
[NSURL URLWithString:@"http://example2.com/" relativeToURL:baseURL]; // http://example2.com/
2.HTTP headers 设置
默认设置:
- `Accept-Language: (comma-delimited preferred languages), en-us;q=0.8`
- `User-Agent: (generated user agent)`
其中en-us 代表英语-美国 q代表用户喜爱程度大小在0-1之间。
另外 zh-cn 简体中文 zh-tw 繁体中文
你也可以使用setDefaultHeader:value 方法对其进行设置
3.关于coding和copying
AFHTTPClient 遵循NSCoding和NSCopying协议来使操作可以被归档(archives)在disk中,或拷贝(copied)在内存中。
在归档和拷贝时AFHTTPClient会初始化一个空的操作队列
NSCoding 协议不能序列化或反序列化block属性,所以一个归档的AFHTTPClient不会包含任何设置的可到达回调block。
改编于AFHTTPClient.h