我有一个使用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发出相同的请求时,它可以正常工作。
那么,我做错了什么?
答案 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) {
}];
我仍然不明白为什么标题被剥离了......