objective-c - 无法获取 HTML 代码 AFNetworking 2.0

标签 objective-c afnetworking-2

我尝试做出 GET HTTP 响应。我需要获取html代码以供后续解析,但responseObject为nil。

AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
manager.responseSerializer.acceptableContentTypes = [NSSet setWithObject:@"text/html"];

[manager GET:@"http://www.example.com/" parameters:nil success:^(AFHTTPRequestOperation *operation, id responseObject) {
    NSError *error;
    HTMLParser *parser = [[HTMLParser alloc] initWithString:responseObject error:&error];       
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
    NSLog(@"Error: %@", error);
}];

最佳答案

为了获取 html 代码,我们需要构建一个自定义响应序列化器,将来自 Web 服务器的 NSData 响应解码为 NSString。我们需要继承 AFHTTPResponseSerializer 并实现以下方法:

- (id)responseObjectForResponse:(NSURLResponse *)response
                           data:(NSData *)data 
                          error:(NSError *__autoreleasing *)error
{
    return [[NSString alloc] initWithData:data encoding:NSASCIIStringEncoding];
}

关于objective-c - 无法获取 HTML 代码 AFNetworking 2.0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20583525/

相关文章:

ios - 我应该为每个 UIViewController 创建一个 NSOperationQueue 吗?

ios - AFNetworking GET 请求 - 无法将responseObject转换为NSDictionary

ios - 添加依赖于现有请求的新 AFHTTPRequestOperation

ios - drawMapRect 上下文 + Grand Central Dispatch

ios - 从 Web 服务 + AFnetworking 获取数据所需的时间?

iphone - 为 Iphone 定制 iCarousel?

objective-c - iPhone/iPad itunes 库读取权限?

ios - NSURLSession 重启请求

ios - 使用 popViewController 动画时按钮色调会改变颜色

ios - 如何确定是否正在等待调度信号量?