Ios AFNetworking SessionManager设置HTTPHeaderField导致错误
在AFHTTPSessionManager的子类中,在调用GET方法之前,我有以下内容:Ios AFNetworking SessionManager设置HTTPHeaderField导致错误,ios,afnetworking,Ios,Afnetworking,在AFHTTPSessionManager的子类中,在调用GET方法之前,我有以下内容: [self.requestSerializer setValue:userName forHTTPHeaderField:@"aaa"]; [self.requestSerializer setValue:password forHTTPHeaderField:@"bbb"]; 在上述标题字段设置器之前还设置了以下内容: self.responseSerializer = [AFJSON
[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) {
{
//
}
}
但是,当HttpHeaderField的setter被注释掉时,请求就没有问题了
请帮忙。。我以前设置自定义httpHeader没有问题,但它是在AFHTTPRequestOperationManager上 你的帖子不清楚你是否在打电话
self.requestSerializer = [AFJSONRequestSerializer serializer];
在使用设置标题之前或之后
[self.requestSerializer setValue:userName forHTTPHeaderField:@"aaa"];
[self.requestSerializer setValue:password forHTTPHeaderField:@"bbb"];
如果在设置标题后将
self.requestSerializer
设置为AFJSONRequestSerializer
,那么您正在压扁刚刚设置的标题。可能是因为userName
或password
为nil
?您是否正在检查它们是否为nil
?问题是服务器返回的是字符串而不是有效的JSON,由于某种原因,Charles没有捕获到请求,这误导了他们认为请求从未被触发。谢谢您,德莫罗,说得很好!但是,在我的例子中,requestSerializer设置在头字段之前。我会更新问题的。谢谢你,阿明!它们不是零。你能不能也在控制台中粘贴你得到的错误?在我看来,这个错误似乎告诉您,您正在从服务器获得一个非JSON响应。您是否尝试过使用Postman或其他API客户端进行调用?Armin,没有JSON响应,因为它在调用GET方法之前出错。我在Charles上没有看到任何日志记录,Charles是我用来内省Http请求的代理客户端。如果我运行chromrest控制台,一切都很好。刚刚在iOS代码中出错。