我正在开发一个应用程序并尝试显示网页的一部分.
我的想法是第一个,获取页面源然后解析它!
我已经找到了一个有用的HTML解析器,但仍然在如何获取页面源?
我发现的只是UIWebview.就像是:
uiwebview = [[UIWebView loadRequest:[NSURLRequest requestWithURL:url]];
Run Code Online (Sandbox Code Playgroud)
使用
NSString *string = [NSString stringWithContentsOfURL:[NSURL URLWithString:@"http://www.google.com"] encoding:NSUTF8StringEncoding error:nil];
Run Code Online (Sandbox Code Playgroud)
+stringWithContentsOfURL:在主线程中使用的缺点是,在请求处于活动状态时,您的UI将被阻止.当用户在具有高延迟的网络上,当服务器响应缓慢或者请求最终超时时,这变得特别成问题.在最后一种情况下,用户可能会在很长时间内看到UI块.
+stringWithContentsOfURL:如果服务器未返回200状态,该方法也缺少为您提供错误信息的方法.
要在不阻止UI的情况下异步执行请求,请使用NSURLConnection并获取委托中的数据:
- ( void )connection: (NSURLConnection *)connection didReceiveData: (NSData *)data
{
// receivedData is an NSMutableData object
[ receivedData appendData: data ];
}
Run Code Online (Sandbox Code Playgroud)
然后在连接完成时启动解析:
- ( void )connectionDidFinishLoading: (NSURLConnection *)connection
{
[ self parseHTMLData: receivedData ];
}
Run Code Online (Sandbox Code Playgroud)
该网址加载系统编程指南将帮助您开始.
| 归档时间: |
|
| 查看次数: |
3607 次 |
| 最近记录: |