今天在项目中要封装一个请求头但是用如下方法总是失败:

求其原因不知道:

于是乎改用了属性对象后居然成功了。。:

//

//  RequestManager.m

//  获取天气demo

//

//  Created by ios on 16/9/13.

//  Copyright © 2016年 ios. All rights reserved.

//

#import "RequestManager.h"

#import "AFNetworking/AFNetworking.h"

@interface RequestManager()

@property (nonatomic,strong) AFHTTPSessionManager *manager;

@end

@implementation RequestManager

static id _manager=nil;

// 单例

static id shareInstace=nil;

+(RequestManager *)shareInstasnce{

static dispatch_once_t onceToken;

dispatch_once(&onceToken, ^{

shareInstace=[[self alloc] init];

});

return shareInstace;

}

- (instancetype)init

{

self = [super init];

if (self) {

AFHTTPSessionManager *manager=[AFHTTPSessionManager manager];

AFSecurityPolicy *securityPolicy = [AFSecurityPolicy defaultPolicy];

securityPolicy.allowInvalidCertificates = YES;

securityPolicy.validatesDomainName = NO;

manager.securityPolicy=securityPolicy;

manager.responseSerializer.acceptableContentTypes = [NSSet setWithObjects:@"application/json", @"text/html", @"text/plain", @"text/json", @"text/javascript", nil];

_manager=manager;

}

return self;

}

-(void)GET:(NSString *)url params:(NSMutableDictionary *)params success:(void (^)(id))success failure:(void (^)(NSError *))failure{

NSLog(@"%@",_manager.requestSerializer.HTTPRequestHeaders);

[_manager GET:url parameters:nil progress:nil success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable responseObject) {

success(responseObject);

} failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {

failure(error);

}];

}

-(void)setHttpRequestheader:(NSDictionary *)headerFieldValueDictionary{

_manager.requestSerializer.timeoutInterval=10.0f;

if (headerFieldValueDictionary != nil) {

for (id httpHeaderField in headerFieldValueDictionary.allKeys) {

id value = headerFieldValueDictionary[httpHeaderField];

if ([httpHeaderField isKindOfClass:[NSString class]] && [value isKindOfClass:[NSString class]]) {

[_manager.requestSerializer setValue:(NSString *)value forHTTPHeaderField:(NSString *)httpHeaderField];//这种情况设置就成功了。。

} else {

NSLog(@"Error, class of key/value in headerFieldValueDictionary should be NSString.");

}

}

}

}

@end

AFNetworking的坑真不少。。

AFNetWorking设置HTTPRequestHeaders的坑的更多相关文章

  1. React设置宽度的坑

    [React设置宽度的坑] 我们知道通过ref可以获取DOM元素,通过style属性可以给此DOM元素添加样式. 但下面两行的赋值是无效的: this.HomeRootDiv.style.width= ...

  2. iOS 使用AFNetworking 设置cookie

    本问题是由于多账号访问统一服务器时, 由于服务器那边接收到sessionid一样, 故无法区分账号信息. 所以需要在移动端请求的时候重新设置cookie, 步骤如下: 1. 在登录的时候, 先将 re ...

  3. Jenkins master slave设置遇到的坑以及解决办法

    写好了selenium测试脚本,本地运行没问题,但是现在流行分布式运行,并行执行以显得高大上. 然而,装高大上是要付出代价的. Selenium Grid 已经完美实现分布式和并行了. 奈何现在会Je ...

  4. IOS AFNetWorking 设置超时时间

    (原创经验总结) 1.关于AF 超时的说法 系统默认的timeInterval  是60s  ASI默认是10s 但是有一个说法是 AF “AFN在GET条件下设置的NSURLRequest能起作用, ...

  5. ie下table无法设置宽度的坑,解决方案:在td里面添加div把td宽度撑开即可。

    <td><div style="width:180px"> <a data-b="2" class="btn btn-s ...

  6. 记录一次idae和maven设置的巨坑

    这个忽略pom.xml文件千万别勾选,不然会导致项目的pom.xml怎么填写都无法导入新的依赖包!

  7. AFNetworking教程

    转:http://www.lanrenios.com/tutorials/network/2012/1126/527.html AFNETWORKING AFNetworking他是一个现在非常用得多 ...

  8. 菜鸟帮你跳过openstack配置过程中的坑

    一:前言 对于一个以前做java全栈工程师而言,而且没学过Linux,很少用虚拟机(还是在大学的时候简单的用过),去配置openstack我想我入的坑肯定比有基础的一定要多,躺在每个坑中徘徊思索的时间 ...

  9. Codeforces 1077C Good Array 坑 C

    Codeforces 1077C Good Array https://vjudge.net/problem/CodeForces-1077C 题目: Let's call an array good ...

随机推荐

  1. centos 7 配置网络

    文档: https://wiki.centos.org/FAQ/CentOS7

  2. kill命令

    *杀死进程最安全的方法是单纯使用kill命令,不加修饰符,不带标志.   首先使用ps -ef命令确定要杀死进程的PID,然后输入以下命令:   # kill -pid   注释:标准的kill命令通 ...

  3. Android带图片的Toast(自定义Toast)

    使用Android默认的Toast Toast简介: Toast是一个简单的消息显示框,能够短暂的出现在屏幕的某个位置,显示提示消息. 默认的位置是屏幕的下方正中,一般Toast的使用如下: Toas ...

  4. ABAP 常见查询问题解决方法

    在ABAP 编程的时候会遇到查询单条语句的时候数能取对  但是条目数多了的话 会出现数不准确的问题   原因可能出现在查询使用了二分法查询方式  二分法查询下必须按排序的字段排序  还得按照排序的字段 ...

  5. iOS 对象的内存管理细节

    通过类创建对象 1.创建对象时,开辟存储空间,通过new方法创建的对象会在 堆 内存中开辟一块存储空间 2初始化所有属性都在堆内存中完成 3.返回值真地址,指针在栈内存中,指针指向的地址是堆里创建对象 ...

  6. WPF去边框与webbrowser的冲突

    首先建一个类,比如NativeMethods.cs class NativeMethods{     public const int WS_CAPTION=0x00C0000;     public ...

  7. iOS企业分发证书制作

    自签名证书制作流程 打开终端,输入 openssl genrsa - ,生成名称为ca的秘钥 注:openssl生成的文件皆放在用户文档下(finder菜单栏'前往' - 电脑 -Macintosh ...

  8. IE8 下 iframe 滚动条的问题

    //设置滚动条                $("iframe[name='updateFocalWork']").attr("scrolling", &qu ...

  9. tp框架获取常量信息、方法、命名空间

    获取系统常量信息: public function ShowInFo() { var_dump(get_defined_constants(true)); //如果参数为true,则分类显示 } 在这 ...

  10. 定位以及z-index

    定位 定位用来控制元素的位置 定位的关键字是position,position有4个值,分别是relative,absolute,static,fixed当元素定位以后,元素有4个值可以用,分别是le ...