1

我想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并已成功发送

4

0 回答 0