2012-11-05 13 views
5

Próbuję wysłać nagłówek autoryzacji za pomocą AFNetworking i AFJSONRequestOperation. Jeśli NSLog httpClient po setAuthorizationHeaderWithToken, to pokaże, że jest w nagłówku, ale kiedy sprawdzam serwer, do którego wysyła, wydaje się, że nie otrzymuje nagłówka Authorization (otrzymuje inne części).AFNetworking nie wysyła nagłówka autoryzacji z AFJSONRequestOperation

Czy AFJSONRequestOperation robi coś z nagłówkiem, w którym nie dodaje części autoryzacji?

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]; 

Odpowiedz

2

Czy próbowałeś dodanie nagłówka przed utworzeniem NSMutableURLRequest (która w tym bloku kodu nie wydaje się konieczne, aby być zmienny) z httpclient? Wygląda na to, że nie dodajesz nagłówka tokenu, dopóki nie utworzysz żądania, w którym to przypadku AFJSONRequestOperation nigdy nie widzi nagłówka, ponieważ tak naprawdę w source code z AFHTTPClient ta funkcja jest po prostu wygodną metodą dodawania nagłówka HTTP z nazwa "Autoryzacja"

+0

+1 Nagłówek należy ustawić przed utworzeniem obiektu "NSMutableURLRequest". –

Powiązane problemy