将自定义标头添加到NSURLRequest或AFHTTPRequestOperation

时间:2014-10-03 21:43:56

标签: ios afnetworking-2 nsurlrequest

我有一个项目需要添加自定义标头auth_token。我有点不清楚如何添加到AFHTTPRequestOperation。我有:

  NSURLSessionConfiguration *sessionConfiguration = [NSURLSessionConfiguration defaultSessionConfiguration];
  // Configure Session Configuration
  [sessionConfiguration setAllowsCellularAccess:YES];
  [sessionConfiguration setHTTPAdditionalHeaders:@{ @"auth_token" : [self.credentialStore authToken]}];
  // Create Session
  NSURLSession *session = [NSURLSession sessionWithConfiguration:sessionConfiguration];

  NSURL *URL = [NSURL URLWithString:[NSString stringWithFormat:@"%@/arc/v1/api/mi/images",MYHost()]];

  NSURLRequest *request = [NSURLRequest requestWithURL:URL];
  //[manager.requestSerializer setValue:[self.credentialStore authToken] forHTTPHeaderField:@"auth_token"];

  AFHTTPRequestOperation *op = [[AFHTTPRequestOperation alloc] initWithRequest:request];
  op.responseSerializer = [AFJSONResponseSerializer serializer];
  [op setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) {

 ...

 [[NSOperationQueue mainQueue] addOperation:op];

如何将auth_token添加为自定义标头?

在我们使用的其他部分:

  AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
  [manager.requestSerializer setValue:[self.credentialStore authToken] forHTTPHeaderField:@"auth_token"];

如果这是首选方式,我可以将代码迁移到该样式。

thx任何帮助

1 个答案:

答案 0 :(得分:2)

使用AFNetworking时,建议在请求序列化程序上设置它。但是,您似乎也直接使用NSURLSession。在决定设置自定义标头的位置之前,我建议您决定使用一种网络方法。