2012-11-05 4 views
5

Ich versuche, einen Autorisierungsheader mit AFNetworking und AFJSONRequestOperation zu senden. Wenn ich den httpClient nach setAuthorizationHeaderWithToken NSLogle, wird es zeigen, dass es in der Kopfzeile ist, aber wenn ich den Server, an den gesendet wird, überprüfen, scheint es nicht den Autorisierungsheader (es empfängt die anderen Teile).AFNetworking scheint Autorisierungsheader mit AFJSONRequestOperation nicht zu senden

Führt AFJSONRequestOperation etwas mit der Kopfzeile durch, in der es den Autorisierungsteil nicht hinzufügt?

NSURL *url = [NSURL URLWithString:kBaseURL]; 
AFHTTPClient *httpClient = [[AFHTTPClient alloc] initWithBaseURL:url]; 

NSMutableURLRequest *request = [httpClient requestWithMethod:@"POST" path:@"/" parameters:params]; 

[httpClient setAuthorizationHeaderWithToken:@"test"]; 

AFJSONRequestOperation *operation = nil; 

operation = [AFJSONRequestOperation 
      JSONRequestOperationWithRequest:request 
      success:^(NSURLRequest *request, NSHTTPURLResponse *response, id JSON) { 

      } 
      failure:^(NSURLRequest *request , NSHTTPURLResponse *response, NSError *error , id JSON){ 

      }]; 

[operation start]; 

Antwort

2

Haben Sie versucht, den Header hinzufügen, bevor die NSMutableURLRequest Erstellung (die in diesem Code-Block scheint nicht änderbar sein zu müssen) mit dem Httpclient? Es sieht so aus, als würden Sie den Token-Header erst hinzufügen, nachdem Sie die Anfrage erstellt haben. In diesem Fall sieht die AFJSONRequestOperation die Kopfzeile nie wirklich, da diese Funktion in source code von AFHTTPClient nur eine bequeme Methode zum Hinzufügen eines HTTP-Headers ist der Name "Authorization"

+0

+1 Header muss vor dem Erstellen des Objekts 'NSMutableURLRequest' gesetzt werden. –