【问题标题】:AFNetworking 2.0: Passing header informationAFNetworking 2.0:传递标头信息
【发布时间】: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];

}

【问题讨论】:

标签: ios objective-c afnetworking afnetworking-2


【解决方案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 中被弃用
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-28
    • 1970-01-01
    • 2021-11-18
    • 1970-01-01
    相关资源
    最近更新 更多