我正在使用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);
}];
答案 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]);