【问题标题】:AFNetworking 2: Authorization header not included in requestAFNetworking 2:请求中未包含授权标头
【发布时间】:2014-06-06 11:27:47
【问题描述】:

我有一个使用 AFNetworking 2 的应用程序。我正在尝试使用 Authorization 标头发出请求。这是我目前拥有的代码:

NSURL                         *baseURL = [NSURL URLWithString:WLAPIBaseURL];
AFHTTPRequestOperationManager *manager = [[AFHTTPRequestOperationManager alloc] initWithBaseURL:baseURL];
[manager.requestSerializer setAuthorizationHeaderFieldWithUsername:email password:password];
[manager GET:WLAPIEndpointMe parameters:nil success:^(AFHTTPRequestOperation *operation, id responseObject) {
 } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
 }];

当我提出请求时,我会收到 401 响应。我用Charles监听了请求,结果发现请求中没有包含Authorization标头……

我确信这不是服务器的问题,因为当我从命令行使用 curl 发出相同的请求时,它工作正常。

那么,我做错了什么?

【问题讨论】:

    标签: ios http-headers afnetworking-2


    【解决方案1】:

    我设法通过使用凭据而不是显式设置授权标头来使其工作:

    NSURL                         *baseURL = [NSURL URLWithString:WLAPIBaseURL];
    AFHTTPRequestOperationManager *manager = [[AFHTTPRequestOperationManager alloc] initWithBaseURL:baseURL];
    
    NSURLCredential *credential = [NSURLCredential credentialWithUser:email
                                                             password:password
                                                          persistence:NSURLCredentialPersistenceNone];
    
    manager.credential = credential;
    [manager GET:WLAPIEndpointMe parameters:nil success:^(AFHTTPRequestOperation *operation, id responseObject) {
     } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
     }];
    

    我仍然不明白为什么标题被剥离了...

    【讨论】:

    • 您找到了另一种出路,但这并不是问题的真正解决方案,为什么“请求中未包含授权标头”。我面临同样的问题。之后有没有发现什么线索?
    猜你喜欢
    • 2012-08-12
    • 2018-01-27
    • 2016-06-27
    • 1970-01-01
    • 2021-08-28
    • 2019-05-29
    • 2017-04-18
    • 2012-09-02
    • 1970-01-01
    相关资源
    最近更新 更多