AFNetworking 2.0:传递标头信息

Posted

技术标签:

【中文标题】AFNetworking 2.0:传递标头信息【英文标题】:AFNetworking 2.0: Passing header information 【发布时间】:2014-04-17 13:44:33 【问题描述】:

我是 AFNetworking 的新手,我知道如何传递 URL 参数。但是我如何将标头传递给同一个调用。

我也继承了我的 AFHTTPSessionManager

请参阅下面的代码:

- (void)getExpenses:(NSString *)page
                success:(void (^) (NSArray *myExpenses))success
                failure:(RequestFailureBlock)failure

    NSString *resourceURL = [NSString stringWithFormat:@"%@/expenses/", APIBaseURLString];
    NSDictionary *parameters = @@"page":page, @"Authorization": APIAuthorization;

    [self getExpenses:resourceURL parameters:parameters success:success failure:failure];


【问题讨论】:

你用的是get方法还是post方法? 查看文档cocoadocs.org/docsets/AFNetworking/2.0.0/Classes/… 我正在使用 GET 方法。 仅供参考,我正在继承 AFHTTPSessionManager。我想不通。请帮忙。 【参考方案1】:

setAuthorizationHeaderFieldWithToken is deprecated 由于servers having different requirements about how the access token 被发送(令牌、承载等)

michaels 的回答是正确的,使用

[self.requestSerializer setValue:@"Some-Value" forHTTPHeaderField:@"Header-Field"];

[self.requestSerializer setAuthorizationHeaderFieldWithUsername:@"" password:@""];

基本认证

【讨论】:

【参考方案2】:

您在 AFHTTPSessionManager 的 requestSerializer 属性上设置标头值:

[self.requestSerializer setValue:@"Some-Value" forHTTPHeaderField:@"Header-Field"];

编辑:

您似乎正在尝试设置授权;也有一种方法:

[self.requestSerializer setAuthorizationHeaderFieldWithUsername:@"" password:@""];
// OR
[self.requestSerializer setAuthorizationHeaderFieldWithToken:@""];

如果您需要设置 Content-Type 标头,请参阅 this SO answer 了解如何设置

【讨论】:

请注意,这不适用于 Content-Type 标头;见github.com/AFNetworking/AFNetworking/issues/1884 我特别需要设置Content-Type 用如何设置Content-Type header 的链接编辑了我的答案 说 setAuthorizationHeaderFieldWithToken 已弃用。 哪个版本?我没有看到它在 2.2.1 docs 中被弃用

以上是关于AFNetworking 2.0:传递标头信息的主要内容,如果未能解决你的问题,请参考以下文章

如何为已弃用的 AFNetworking 2.0 传递授权令牌

AFNetworking 2.0 和请求标头

如何设置 AFNetworking 2.0 默认标头?

AFNetworking 2.0 和授权 Imgur API

AFNetworking 2.0 中的 AFHTTPRequestOperationManager 如何传递 HTTPBody 标签

AFNetworking 2.0 - 如何从子类 AFHTTPSessionManager 成功将响应传递给另一个类