AFNetworking SessionManager设置HTTPHeaderField导致错误

时间:2015-02-02 18:01:36

标签: ios afnetworking

在AFHTTPSessionManager的子类中,在调用GET方法之前,我有以下内容:

    [self.requestSerializer setValue:userName forHTTPHeaderField:@"aaa"];
    [self.requestSerializer setValue:password forHTTPHeaderField:@"bbb"];

以下是在上述标题字段设置者之前设置的,

 self.responseSerializer = [AFJSONResponseSerializer serializer];
 self.requestSerializer = [AFJSONRequestSerializer serializer]; 

当我调用GET时,我在调试控制台中收到了以下内容。请求未在Charles中捕获。 这是我调用这个调用的方式,没什么特别的:

 [self GET:@"default" parameters:nil success:^(NSURLSessionDataTask *task, id    
        responseObject){
        if ([self.delegate        
     respondsToSelector:@selector(PoDMongooseLoginManager:didAuthenticate:)])   
        { 
            //success code
        }
    }failure:^(NSURLSessionDataTask *task, NSError *error) {
           {

              //
           }
         }

enter image description here

但是当HttpHeaderField的setter被注释掉时,发出的请求没有问题。

请帮助..我之前设置了自定义httpHeader没有问题,但它在AFHTTPRequestOperationManager上。

3 个答案:

答案 0 :(得分:1)

如果你打电话

,你的帖子就不清楚了
self.requestSerializer = [AFJSONRequestSerializer serializer]; 

在使用

设置标题之前或之后
[self.requestSerializer setValue:userName forHTTPHeaderField:@"aaa"];
[self.requestSerializer setValue:password forHTTPHeaderField:@"bbb"];

如果您在设置标题后将self.requestSerializer设置为AFJSONRequestSerializer,那么您正在压缩刚设置的标题。

答案 1 :(得分:1)

可能是因为userNamepasswordnil吗?你在检查它们不是nil吗?

答案 2 :(得分:0)

问题是服务器返回一个有效JSON的字符串,由于某种原因,Charles没有捕获请求,误导了该请求从未被解雇。