gpt4 book ai didi

ios - 在我的 iOS 应用程序中获取网页的缓存数据

转载 作者:行者123 更新时间:2023-11-29 12:37:43 25 4
gpt4 key购买 nike

我正在使用 NSUrlConnection 从 Web 服务中获取一些数据,该服务在我点击 URL 时返回 JSON 数据,但有时页面出现故障或出现问题。

有没有办法在我的 iOS 应用程序中使用缓存版本的 url 在网页返回 404 时获取该数据?

在浏览器中,如果我转到 cache:mysite.com/test.php,即使页面已关闭,我也可以看到 JSON 数据,但是当我尝试在我的 iOS 应用程序中使用相同的 url 时,我没有得到返回 JSON 数据。

是否有我不知道的 Obj C 类或 NSUrlConnection 的选项?

最佳答案

NSURLConnection already uses a cache .默认情况下,它只在内存中缓存响应,您可以通过将其设置为也使用磁盘存储来自定义它:

NSURLCache *result = [[NSURLCache alloc] initWithMemoryCapacity:[(1024*1024*512) diskCapacity:(1024*1024*1024 * 100) diskPath@"Cache.db"]:
[NSURLCache setSharedURLCache:result];

您看到您在问题中描述的行为的原因是远程 Web 服务告诉您的客户端不要缓存响应。您可以使用 REDbot 进行检查或类似 Charles 的工具.默认情况下,NSURLRequest 将使用协议(protocol)的缓存策略和语义,这几乎总是正确的做法。您可以通过更改 NSURLRequestcachePolicy 属性来指定不同的缓存策略。

关于ios - 在我的 iOS 应用程序中获取网页的缓存数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25826008/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com