如何在iOS上获取最终的HTML字符串

时间:2015-01-10 01:17:52

标签: html ios objective-c

我需要从网络上获取HTML。但是当我使用下面的代码时,它只显示带有Javascript的小HTML,而不是完整的最终HTML,我在网络浏览器上看到的。

我使用此代码:

NSString* urlString = @"http://mywebsite.com";
NSString* htmlString = [NSString stringWithContentsOfURL:[NSURL URLWithString:urlString]];

使用AFNetworking时也会得到相同的结果。

如何获得完整的HTML?

1 个答案:

答案 0 :(得分:1)

我已经回答了我的问题。我使用UIWebView加载此网页。完成委托后,我可以通过以下代码获得完整的HTML:

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];

    webview = [[UIWebView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height)];
    [webview loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://example.com"]]];
    webview.delegate = self;
    [self.view addSubview:webview];

}

- (void)webViewDidFinishLoad:(UIWebView *)webView {
    NSString *yourHTMLSourceCodeString = [webView stringByEvaluatingJavaScriptFromString:@"document.documentElement.outerHTML"];
    NSLog(@"Did finish load: %@", yourHTMLSourceCodeString);
}

- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error {

}

@end