AFNetworking3.0设置请求头问题解决

本文介绍了在使用AFNetworking3.0进行网络请求时,如何正确设置请求头以避免被JSON数据格式覆盖的问题。重点讲解了设置请求头的顺序,即应先设置请求数据格式为AFJSONRequestSerializer,再添加自定义请求头。
摘要由CSDN通过智能技术生成

许多公司后台开发都会在网络请求里面加上许多字段:

//获取当前系统版本号

+ (NSString*)getIOSVersion

{

return [NSString stringWithFormat:@"%f",[[[UIDevice currentDevice]systemVersion]floatValue]];

}

//获取当前APP版本号

+ (NSString*)getAPPVersion {

NSString*str = [[[NSBundle mainBundle]infoDictionary]objectForKey:@"CFBundleShortVersionString"]; 

return str;

}

//获取当前手机序列号

+ (NSString*)getiphoneUUID {

NSString*UUID = [NSString stringWithFormat:@"%@",[[UIDevice currentDevice]identifierForVendor]];

return UUID;

等等

然而许多公司要求请求上传参数为JSON格式也就是 :


AFHTTPSessionManager*manager =[AFHTTPSessionManagermanager];

manager.requestSerializer= [AFJSONRequestSerializer serializer];

但是当请求头和AFJSONRequestSerializer 一起使用的时候就是出现一下情况

在这里我是添加了请求头的  效果如下



当在设置请求头后面设置JSON数据格式就会出现如下情况:


所以当你先添加请求头 再设置manager.requestSerializer= [AFJSONRequestSerializer serializer];是就会出现请求头被干掉的情况!


所以你要添加请求头就必须先设置上传数据格式然后设置请求头 例如:


AFHTTPSessionManager*manager = [AFHTTPSessionManager manager];

manager.requestSerializer= [AFJSONRequestSerializer serializer];

[manager.requestSerializer setValue:@"application/json" forHTTPHeaderField:@"content-type"];

[manager.requestSerializer setValue:@"XXXXX "forHTTPHeaderField:@"XXXXXX"]; 等等

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值