如何在Safari v10.1中获取Safari历史记录域图像表单缓存

时间:2017-05-18 05:45:43

标签: objective-c xcode cocoa safari macos-sierra

我想从我的应用程序中显示的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

在此位置操作系统通过域名文件夹保存图像。但更新后,他们已将域名更改为不同的字符串,就像这样

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

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

我尝试了解决此问题的所有可能性,所以任何人都可以告诉我是否可以检索浏览器缓存图像域或者我可以验证哪个图像缓存在哪个域中。

我之前得到的内容 - :

earlier images from browser

更新后我得到的内容 - :

later images from browser

先谢谢你们。

1 个答案:

答案 0 :(得分:0)

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

Safari在以下位置维护其历史数据库 - : 〜/库/ Safari浏览器/ History.db

阅读此数据库。此数据库有一个名为“ history_visits ”的表,其中包含已触发的网址及其唯一ID的时间戳

使用此唯一ID,您会在另一个名为“history_items”的表中找到触发的网址

根据数据库找到与相同时间戳匹配的缓存图像。

如果匹配则可能是您正在寻找的正确图像。

另一件重要的事情是 - : 根据野生动物历史记录,这并不是解决这个问题的完全证据,只是我们提出的解决方案。