AFNetWorking 的Header的传值
来源:互联网 发布:java 公章识别 编辑:程序博客网 时间:2024/05/21 22:40
AFNetWorking 的Header的传值
首先分享下我们的AFNetWorking的数据封装
1,创建一个AFNetWorkingClient类继承自AFHTTPSessionManager
2,该类文件单例的实现
+ (instancetype)shareAFNetworkingClient{ static AFNetWorkingClient *client = nil ; static dispatch_once_t once ; dispatch_once(&once, ^{ client = [[self alloc] initWithBaseURL:[NSURL URLWithString:nil]] ; client.securityPolicy.allowInvalidCertificates = YES ; client.responseSerializer.acceptableContentTypes = [NSSet setWithObjects:@"application/json", @"text/html",@"text/json",@"text/javascript",@"multipart/form-data", nil]; }); return client ;}
3,数据请求的封装
Post:
+(void)PostTheDataFromServer:(NSString *)URLString parameters:(id)parameters success:(void (^)(id responseObject))success failure:(void (^)(NSError *error))failure{ AFNetWorkingClient *client = [AFNetWorkingClient shareAFNetworkingClient]; [client POST:[NSString stringWithFormat:@"%@%@",K_Api_Prefix,URLString] parameters:parameters success:^(NSURLSessionDataTask *task, id responseObject) { success(responseObject) ; } failure:^(NSURLSessionDataTask *task, NSError *error) { failure(error) ; }];}
Get:
+ (void)GetTheDataFromServer:(NSString *)URLString parameters:(id)parameters success:(void (^)(id responseObject))success failure:(void (^)(NSError *error))failure{ AFNetWorkingClient *client = [AFNetWorkingClient shareAFNetworkingClient]; [client GET:[NSString stringWithFormat:@"%@%@",K_Api_Prefix,URLString] parameters:parameters success:^(NSURLSessionDataTask *task, id responseObject) { success(responseObject) ; } failure:^(NSURLSessionDataTask *task, NSError *error) { failure(error) ; }]; }
4,数据请求接口的调用
[AFNetWorkingClient PostTheDataFromServer:postUrl parameters:dict success:^(id responseObject) { } failure:^(NSError *error) { }];
回到正题,关于HTTPHeader的传值的方法
因为AFHTTPSessionManager有一个requestSerializer属性,该属性有一个
- (void)setValue:(NSString *)value forHTTPHeaderField:(NSString *)field {
[self.mutableHTTPRequestHeaders setValue:value forKey:field];
}
可以做在传值的时候直接调用,比如
[client.requestSerializer setValue:[NSString stringWithFormat:@"%d", (long)[[NSDate date] timeIntervalSince1970]]forHTTPHeaderField:@"RequestTime"];
我传的是一个时间戳。
既然传值就要有怎么接收值
if ([URLString rangeOfString:@"goods/front/pagelist"].location != NSNotFound) {
NSHTTPURLResponse *responseTask = (NSHTTPURLResponse *)task.response;
if ([responseObject isKindOfClass:[NSDictionary class]] && ((NSDictionary*)responseObject).count > 0) {
[dataDict setValuesForKeysWithDictionary:responseObject];
[dataDict setObject:responseTask.allHeaderFields[@"RequestTime"] forKey:@"RequestTime"];
}
}
我是把NSURLSessionDataTask强转成NSHTTPURLResponse,进行allHeaderFields方法的获取
- AFNetWorking 的Header的传值
- 关于AFNetworking中header的bug问题
- AFNetWorking 拿到后台的返回回来的header
- iOS-Django:使用AFNetworking向django的request中添加自定义header值
- HTTP Basic Authentication认证方式和AFNetworking的header的设置
- AFNetworking 获得header头部的信息 以及添加Content-Type支持的类型
- 通过AFNetworking下载网络闪屏用的图片并存储到本地同时获取header头相关信息
- 通过AFNetworking下载网络闪屏用的图片并存储到本地同时获取header头相关信息
- AFNetworking的学习
- AFNetworking的使用
- AFNetWorking 的使用方法
- AFNetWorking的基本使用
- AFNetWorking 的简单使用
- AFNetworking 的使用
- AFNetworking的使用
- AFNetworking 的使用
- AFNetWorking的使用配置
- AFNetworking的使用
- linux细聊分段
- Eclipse安装Activiti Designer插件
- Python-pillow
- C#判断连接是否可下载
- 清除页面浮动好方法
- AFNetWorking 的Header的传值
- POJ 3252 Round Numbers
- 用于获取spring所有支持的请求url,也就是{@link RequestMapping}的url
- Android DrawerLayout的使用
- ndk jni
- 登陆时传参(加密的手机号和密码)
- formular用法概要
- 【BZOJ 2120】 数颜色 (分块,暴力)
- 111