我尝试做出 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/