如何使用 sessionManager (AFNetworking) 设置多个 http header

How do i set multiple http header using sessionManager (AFNetworking)

我搜索了各种 Whosebug 问题并得到了答案,但使用 NSMutableURLRequest 因为只有一种方法 - (void)addValue:(NSString *)value forHTTPHeaderField:(NSString *)field; 只能通过 requestObject 调用。 如何使用 _sessionManager.requestSerializer 增加价值?或任何解决方法。这是我用于 session 配置的代码。

- (void)configureSesionManager {
_sessionManager = [AFHTTPSessionManager manager];
_sessionManager.responseSerializer = [AFHTTPResponseSerializer serializer];

_sessionManager.requestSerializer = [AFJSONRequestSerializer serializer];
_sessionManager.responseSerializer.acceptableContentTypes = [NSSet setWithObject:@"application/json"];
_sessionManager.requestSerializer.timeoutInterval = 360;
if ([GSCommonUtil isUserLoggedIn]) {
    authenticationHeader = [NSString stringWithFormat:@"Bearer %@",[GSCommonUtil retriveValueFromUserDefaults:kNSUserAuthenticationToken]];
    [_sessionManager.requestSerializer setValue:authenticationHeader forHTTPHeaderField:@"Authorization"];
} 
    [_sessionManager.requestSerializer setValue:@"text/plain" forHTTPHeaderField:@"Content-Type"];
    [_sessionManager.requestSerializer setValue:@"application/json" forHTTPHeaderField:@"Accept"];
// I have to add one more HTTPHeader for @"Accept". How could I achieve it.
    NSLog(@"Done with Session Manager Configuration!");
}

Accept header 需要一个 comma separated list,所以这样的事情应该有效:

[_sessionManager.requestSerializer setValue:@"application/json, application/xml" forHTTPHeaderField:@"Accept"];

显然用你需要的任何东西替换 application/xml