AFNetworking 2:请求中未包含授权标头

时间:2014-06-06 11:27:48

标签: ios http-headers afnetworking-2

我有一个使用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发出相同的请求时,它可以正常工作。

那么,我做错了什么?

1 个答案:

答案 0 :(得分:0)

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

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) {
 }];

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