2016-07-27 24 views
0

我已經通過各種計算器的問題進行了搜索,並得到了答案,但使用NSMutableURLRequest,因爲有一種方法- (void)addValue:(NSString *)value forHTTPHeaderField:(NSString *)field;,它只能通過requestObject調用。 如何使用_sessionManager.requestSerializer增加價值?或者任何解決方法。這裏是我用於會話配置的代碼。如何使用sessionManager設置多個http頭(AFNetworking)

- (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!"); 
} 

回答

3

Accept頭需要comma separated list,所以這樣的事情應該工作:

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

顯然,不管你需要更換application/xml