使用所有图像,CSS和其他资源保存网页

时间:2011-09-08 14:23:12

标签: objective-c cocoa-touch caching webpage

我需要下载一些网页供以后在我的应用程序中使用,我找不到一种简单的方法来完成这项任务。我更喜欢一个解决方案,我不需要解析HTML来获取图像和其他资源的URL,而是自动以某种方式下载它们。

2 个答案:

答案 0 :(得分:1)

好的伙计们,这是我的解决方案:

  1. 创建了我自己的缓存对象,派生自NSURLCache
  2. 在其中添加了一个“状态”枚举变量,可能的状态为:SAVING,LOADING,NOTHING
  3. 根据状态覆盖cachedResponseForRequest做事情
  4. SAVING:创建了一个NSMutableDictionary来存储每个下载请求
  5. 将请求中的文件下载到平面文件中,将文件路径作为对象添加到字典中,并将URL作为键
  6. LOADING:在此示例中使用此字典来加载存储的内容:http://cocoawithlove.com/2010/09/substituting-local-data-for-remote.html
  7. 使用[NSURLCache setSharedURLCache:myCacheObject]设置我的缓存对象作为共享缓存对象;
  8. 在此之后,当我想保存某些内容时,我将缓存的状态设置为SAVING,并将请求加载到UIWebView。在此之后,我将状态设置回LOADING,将请求加载到UIWebView,如果我先前存储了我的请求,我的缓存将从磁盘加载它。

答案 1 :(得分:0)

我认为ASIHTTPRequest框架对您有用 - 尝试ASIWebPageRequest并查看它是否支持您需要的所有功能。