AFHTTPRequestOperationManager
プロジェクトで使用したい。各リクエストには認証ヘッダーが含まれている必要があります。そうでない場合、サーバーはエラーを報告します。
さて、私は作成しますAFHTTPRequestOperationManager
:
- (void) setManager:(AFHTTPRequestOperationManager *)manager
{
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
_manager = [AFHTTPRequestOperationManager manager];
_manager.responseSerializer.acceptableContentTypes = [NSSet setWithObjects:@"text/plain", nil];
_manager.operationQueue.maxConcurrentOperationCount = 1;
[_manager.requestSerializer setValue:@"XsziXjva92jAO29jng0wpBmKFJ92s9q" forHTTPHeaderField:@"Authorization"];
});
}
そして、マネージャーの助けを借りてリクエストを送信します。
+ (void) requestBoards
{
// show me my manager headers
DLog(@"%@", [[[[RequestManager instance] manager] requestSerializer] HTTPRequestHeaders]);
[[[RequestManager instance] manager] GET:URL_BOARDS parameters:nil success:^(AFHTTPRequestOperation *operation, id responseObject) {
DLog(@"good");
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
// show me request headers
DLog(@"%@", operation.request.allHTTPHeaderFields);
}];
}
それぞれDLog
が示しています:
[RequestManager requestBoards]_block_invoke_2 [Line 66] {
"Accept-Language" = "en;q=1";
Authorization = XsziXjva92jAO29jng0wpBmKFJ92s9q;
"User-Agent" = "SITE/1.0 (iPhone Simulator; iOS 8.1; Scale/2.00)";
}
そして、サーバーの応答は良くありません:
{"data": {}, "error_text": "Key None is unauthorized, sorry :/", "success": false, "error": "unauthorized_key"}
Wireshark でリクエストを確認することにしましたが、Authorizationヘッダーがまったくありません。私は何を間違っていますか?
追加した:
Authorizationヘッダーのみが送信されませんAFHTTPRequestOperationManager
。ヘッダーのタイトルをAuthorizationLOLに変更し、正常に送信されました