AFNetworking 3.0+ 设置请求头Header
来源:互联网 发布:java计数函数怎么用 编辑:程序博客网 时间:2024/06/05 18:03
AFNetworking 3.0+ 设置请求头Header
我项目里网络请求的Content-Type是application/octet-stream;charset=utf-8。
这种方式跟application/json的不一样,请求参数是二进制的数据流形式的,必须放到body里面去请求。所以问题来了,之前项目用的AFNetworking是2.5.+ 的,现在更新了AFNetworking到3.0+,发现之前的网络请求的AFHTTPRequestOperation被废弃了。现在用AFHTTPSessionManager代替了。不知道怎么设置Header??
AFNetworking 2.0+ 设置请求头
NSMutableURLRequest *jsonRequest = [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:request.stringOfApiURLString]]; jsonRequest.HTTPMethod = @"POST"; NSMutableData *postBody = [NSMutableData data]; int msgid = request.msgid; NSData *dataMsgid = [NSData dataWithBytes:&msgid length: 4]; [postBody appendData:dataMsgid]; AFHTTPRequestOperation *op = [[AFHTTPRequestOperation alloc] initWithRequest:jsonRequest]; [op.securityPolicy setAllowInvalidCertificates:YES]; [op.securityPolicy setValidatesDomainName:NO]; [op.securityPolicy setValidatesCertificateChain:NO]; op.responseSerializer = [AFHTTPResponseSerializer serializer]; [op setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObj){ //处理数据 } } failure:^(AFHTTPRequestOperation *operation, NSError *error) { if (failure) { failure(error); NSString *str = [[NSString alloc]initWithData:operation.responseObject encoding:NSUTF8StringEncoding]; NSLog(@"--- request error %@",str); } }]; [[NSOperationQueue mainQueue] addOperation:op];
AFNetworking 3.0+ 设置请求头
NSMutableURLRequest *jsonRequest = [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:request.stringOfApiURLString]]; jsonRequest.HTTPMethod = @"POST"; NSMutableData *postBody = [NSMutableData data]; int msgid = request.msgid; NSData *dataMsgid = [NSData dataWithBytes:&msgid length: 4]; [postBody appendData:dataMsgid]; AFHTTPSessionManager *manager = [AFHTTPSessionManager manager]; [manager setSecurityPolicy:[AFSecurityPolicy policyWithPinningMode:AFSSLPinningModeNone]];AFHTTPRequestSerializer *requestSerializer = [AFHTTPRequestSerializer serializer];[requestSerializer setStringEncoding:NSUTF8StringEncoding];// [requestSerializer setTimeoutInterval:10]; [requestSerializer setValue:@"application/octet-stream;charset=utf-8" forHTTPHeaderField:@"Content-Type"];[manager setRequestSerializer:requestSerializer];AFHTTPResponseSerializer *responseSerializer = [AFHTTPResponseSerializer serializer];[responseSerializer setAcceptableContentTypes:[NSSet setWithObjects:@"application/octet-stream", nil]];[manager setResponseSerializer:responseSerializer];[[manager dataTaskWithRequest:request completionHandler:^(NSURLResponse * _Nonnull response, id _Nullable responseObject, NSError * _Nullable error) {if (!error) {NSLog(@"Reply JSON: %@", responseObject);if ([responseObject isKindOfClass:[NSDictionary class]]) {//处理你的数据 }} else {NSLog(@"Error: %@, %@, %@", error, response, responseObject);}}] resume];
阅读全文
1 0
- AFNetworking 3.0+ 设置请求头Header
- AFNetworking 请求头的设置
- afnetworking设置请求头代码
- AFNetworking 的请求头设置
- AFNetWorking请求头的设置
- 关于AFNetworking设置Content-Type,请求头
- HttpClient设置HTTP请求头Header
- HttpClient设置HTTP请求头Header
- HttpClient设置HTTP请求头Header
- AFN3.0设置请求头Header
- AFNetworking 请求头设计
- AFNetworking 添加请求头
- HTTP 请求头 Header
- universalimageloader增加防盗链功能,设置header请求头
- AFNetworking 2.x 设置header
- AFNetworking 2.x 设置header
- AFNetworking 2.x 设置header
- AFnetworking post 添加请求头
- uva 1594 Ducci Sequence
- (android高仿系列)今日头条 --新闻阅读器 (一)
- Android数据存储五种方式总结
- eclipse中.classpath,.project和/.settings
- git在eclipse中的配置 转载
- AFNetworking 3.0+ 设置请求头Header
- 字符串通配
- React native FlexBox布局的基本用法
- Executors
- 电梯
- Xcode 出现 Signing ....... .dylib with codesign错误
- xadmin的安装和基础使用
- java开发环境搭建jdk+tomcat+eclipse
- 【原】记一次加密网页html的研究