Objective c 保存网页及其所有图像、CSS和其他资源

Objective c 保存网页及其所有图像、CSS和其他资源,objective-c,cocoa-touch,caching,webpage,Objective C,Cocoa Touch,Caching,Webpage,我需要下载一些网页供以后在我的应用程序中使用,我找不到一个简单的方法来完成这项任务。我更喜欢一个解决方案,我不需要解析HTML来获取图像和其他资源的URL,而是自动下载它们。我认为ASIHTTPRequest框架对您很有用-试试看它是否支持您需要的所有功能。我认为ASIHTTPRequest框架对您很有用-试试看它是否支持您需要的所有功能。好了,伙计们,这是我的解决方案: 创建了我自己的缓存对象,从NSURLCache派生 向其中添加了一个“state”枚举变量,可能的状态为:保存、加载、无 覆

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

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

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

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

  • 创建了我自己的缓存对象,从NSURLCache派生
  • 向其中添加了一个“state”枚举变量,可能的状态为:保存、加载、无
  • 覆盖缓存响应请求根据状态执行操作
  • 保存:创建一个NSMutableDictionary来存储每个下载请求
  • 将请求中的文件下载到平面文件,将文件路径作为对象添加到字典中,URL作为键
  • 加载:与本例中一样使用此词典加载存储的内容:
  • 使用[NSURLCache setSharedURLCache:myCacheObject]将我的缓存对象设置为共享缓存对象
    在这之后,当我想保存一些东西时,我将缓存的状态设置为“保存”,并将请求加载到UIWebView。在此之后,我将状态设置为“加载”,将请求加载到UIWebView,如果我以前存储了请求,我的缓存将从磁盘加载它。

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

  • 创建了我自己的缓存对象,从NSURLCache派生
  • 向其中添加了一个“state”枚举变量,可能的状态为:保存、加载、无
  • 覆盖缓存响应请求根据状态执行操作
  • 保存:创建一个NSMutableDictionary来存储每个下载请求
  • 将请求中的文件下载到平面文件,将文件路径作为对象添加到字典中,URL作为键
  • 加载:与本例中一样使用此词典加载存储的内容:
  • 使用[NSURLCache setSharedURLCache:myCacheObject]将我的缓存对象设置为共享缓存对象
    在这之后,当我想保存一些东西时,我将缓存的状态设置为“保存”,并将请求加载到UIWebView。在此之后,我将状态设置为加载,将请求加载到UIWebView,如果我以前存储了请求,缓存将从磁盘加载它。

    谢谢,ASIHTTPRequest的功能会很好,但我的同事以前对它进行了测试,速度太慢,生成的错误网页太多。我们需要类似的东西,但更可靠。@Kompi:我没有其他解决方案,而且似乎如果AsiWebageRequest太慢,您可能需要编写自己的解决方案。请在选择解决方案后发布。谢谢谢谢,ASIHTTPRequest的功能会很好,但是我的同事以前测试过它,它太慢了,生成了太多错误的网页。我们需要类似的东西,但更可靠。@Kompi:我没有其他解决方案,而且似乎如果AsiWebageRequest太慢,您可能需要编写自己的解决方案。请在选择解决方案后发布。谢谢