2012-11-05 24 views
5

Tôi đang cố gắng gửi tiêu đề Cấp phép bằng AFNetworking và AFJSONRequestOperation. Nếu tôi NSLog httpClient sau khi setAuthorizationHeaderWithToken, nó sẽ hiển thị rằng nó nằm trong tiêu đề, nhưng khi tôi kiểm tra máy chủ nó gửi đến, nó dường như không nhận được tiêu đề Authorization (nó nhận được các phần khác).AFNetworking dường như không gửi Tiêu đề ủy quyền với AFJSONRequestOperation

AFJSONRequestOperation có làm gì đó với tiêu đề mà nó không thêm phần Cấp phép không?

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

Trả lời

2

Bạn đã thử thêm tiêu đề trước khi tạo NSMutableURLRequest (mà trong khối mã này dường như không cần phải là có thể thay đổi) với HttpClient? Có vẻ như bạn không thêm tiêu đề mã thông báo cho đến khi bạn tạo yêu cầu trong trường hợp này, AFJSONRequestOperation thậm chí không bao giờ thấy tiêu đề, vì thực sự trong source code của AFHTTPClient chức năng đó chỉ là một phương pháp tiện lợi để thêm tiêu đề HTTP tên "Ủy quyền"

+0

+1 Tiêu đề phải được đặt trước khi tạo đối tượng 'NSMutableURLRequest'. –

Các vấn đề liên quan