AFNetworking将text / html读为html而不是JSON

时间:2014-09-30 01:20:24

标签: afnetworking

我正在使用AFNetworking并向我的服务器发出请求。理想情况下,我的服务器返回JSON(使用正确的content-type = application / json标头)但有时发生了一些不好的事情,POST请求只返回原始html。当发生这种情况时,我只想将html作为字符串读取。问题是我无法让AFNetworking处理任何不是json或xml的东西。我已经将text / html添加到acceptedContentTypes的集合中。

AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
    [manager POST:KIWI_URL parameters:postParams success:^(AFHTTPRequestOperation *operation, id objects) {
        NSLog(objects);
    } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
        NSLog(@"10error: %@", error);
    }];

1 个答案:

答案 0 :(得分:2)

您可以通过更改responseSerializer来执行此操作。在管理器初始化之后添加以下代码:

manager.responseSerializer = [AFCompoundResponseSerializer serializer];
manager.responseSerializer.acceptableContentTypes = [manager.responseSerializer.acceptableContentTypes setByAddingObject:@"text/html"];

在成功阻止中,您可以使用以下方式阅读回复:

NSLog(@"RESPONSE:\n%@", [[NSString alloc] initWithData:responseObject encoding:1]);