AFNetworking的header设置几个不为人知的配置方法

0.234字数 239阅读 5503

AFNetworking中最常用的就是POST和GET请求,但是可能很多人都不知道,这个强大的框架还可以配置HTTPHeader
首先看一下我们常用的方法

AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
manager.responseSerializer = [AFJSONResponseSerializer new];
[manager POST:url parameters:parameters success:^(AFHTTPRequestOperation *operation, id responseObject) {

} failure:^(AFHTTPRequestOperation *operation, NSError *error) {

}];

这个常规的用法我们只需要给manager的responseSerializer new一个对象即可使用,但是如果需要给请求配置特定的Header的话,可以看下面的代码
首先,给请求的serializer new一个对象,这一步千万不能忘,不然后面的配置都无效!!!

manager.requestSerializer = [AFJSONRequestSerializer new];

设置请求内容的类型
[manager.requestSerializer setValue:@"application/json;charset=utf-8" forHTTPHeaderField:@"Content-Type"];

设置请求内容的长度
[manager.requestSerializer setValue:[NSString stringWithFormat:@"%ld", (unsigned long)[jsonStr length]] forHTTPHeaderField:@"Content-Length"];

设置请求的编码类型
[manager.requestSerializer setValue:@"gzip" forHTTPHeaderField:@"Content-Encoding"];

推荐阅读更多精彩内容