如何在 Safari v10.1 中获取 Safari 历史域图像形成缓存

How To Get Safari History Domain Images Form Cache In Safari v10.1

我想从我的应用程序中显示的 safari 中获取图像。我必须在域上区分所有缓存图像,所以在 mac os x12.4 和 Safari v10.1 的新更新之前。我从下面的位置获取图像 ~/Library/Caches/com.apple.Safari/WebKitCache/Version 例如,我从以下位置获取 google.com 的图像: ~/Library/Caches/com.apple.Safari/WebKitCache/Version 9/Records/google.com

在此位置 OS 正在按域名文件夹保存图像。但是在更新之后,他们将域更改为一个不同的字符串,就像这样

~/Library/Caches/com.apple.Safari/WebKitCache/Version 9/Records/1A71C22C3069617815FB52ACDEB96918BD33D7DD

在这种情况下,我无法通过域名指定图像。

我尝试了所有 possibility 来解决这个问题所以任何人都可以让我知道我是否可以明智地检索浏览器缓存图像域或者我可以验证哪个图像是由哪个域缓存的。

我之前得到的 - :

更新后我得到了什么 - :

在此先感谢大家。

safari 似乎更改了 safari 缓存文件的命名约定格式。仅供参考,我们在做同样的事情,我们正在为此寻找解决方法;然后我们得出如下结论 - :

Safari 在以下位置维护其历史数据库 - : ~/Library/Safari/History.db

阅读此数据库。此数据库有一个名为“history_visits”的 table,它包含触发的 url 的时间戳及其唯一 ID

使用此唯一 ID,您将在另一个名为 "history_items"

的 table 中找到触发的 url

根据数据库查找匹配相同时间戳的缓存图​​片

如果匹配,那么它可能就是您正在寻找的正确图片。

另一件重要的事情是-: 这不是根据 safari 历史获取准确图像的问题的完整证明解决方案,它只是我们提出的解决方案。