5

我正在尝试使用 AFNetworking 和 AFJSONRequestOperation 发送授权标头。如果我在 setAuthorizationHeaderWithToken 之后对 httpClient 进行 NSLog,它会显示它在标头中,但是当我检查它发送到的服务器时,它似乎没有收到 Authorization 标头(它接收其他部分)。

AFJSONRequestOperation 是否对未添加授权部分的标头执行某些操作?

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

4

1 回答 1

2

您是否尝试过在NSMutableURLRequest使用 httpClient 创建(在此代码块中似乎不需要可变)之前添加标头?看起来您直到创建请求之后才添加令牌标头,在这种情况下,AFJSONRequestOperation 甚至从未看到标头,因为实际上在该函数的源代码AFHTTPClient只是添加 HTTP 标头的便捷方法名称“授权”

于 2012-11-12T23:46:36.273 回答