【问题标题】:How to get history of a web brower like google chrome in c++ ? [closed]如何在 C++ 中获取像谷歌浏览器这样的网络浏览器的历史记录? [关闭]
【发布时间】:2016-08-10 19:24:33
【问题描述】:

我正在使用 c++ 编写程序,我需要获取网络浏览器(默认)或任何类似 google chrome 的历史记录,那么哪些功能将有助于获取历史记录?
wininet有什么功能吗?

【问题讨论】:

  • 每个浏览器都做自己的事情。因此,您必须为要支持的每个浏览器实施不同的解决方案。抱歉,没有可用的快捷方式..

标签: c++ browser browser-history wininet


【解决方案1】:

Wininet 是用于网络的,因此存在这样的功能是没有意义的。我会将历史记录导出为中间格式(Firefox 将其导出为 HTML)并找到一个库来读取它。

【讨论】:

    【解决方案2】:

    Google Chrome 将其历史记录存储在 SQLite DB 中。因此,打开和阅读它非常容易。访问网站的历史记录存储在名为 History 的文件中。对于不同版本的操作系统,默认用户历史记录的路径是不同的。在 Windows XP 上:

    C:\Documents and Settings\%USERNAME%\Local Settings\Application 数据\Google\Chrome\用户数据\默认\首选项

    在 Windows Vista 及更高版本上:

    C:\Users\%USERNAME%\AppData\Local\Google\Chrome\User 数据\默认\首选项

    这里最困难的部分是将访问时间转换为用户友好的格式。此值存储在 visits.visit_time 中,作为自 1601 年 1 月 1 日 UTC 以来的微秒数。

    【讨论】:

    • 主要的“收获”是“没有标准的方法来做到这一点”——即使在不同操作系统上使用相同的浏览器也是如此。
    • @JesperJuhl 通常不同操作系统上的相同浏览器具有相同的历史格式,但位置不同,例如铬合金。不幸的是,浏览器历史解析没有“灵丹妙药”,您需要分别支持每种格式。
    • 这不是我说的吗?
    • @JesperJuhl 顺便说一句,没有太多流行的引擎可以支持。它是 Chrome、Fire Fox 和 IE。 Opera 现在使用 Chromium,因此它的历史记录格式与 Chrome 相同。
    • @JesperJuhl 是的,你说得对
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-02-12
    • 2012-10-30
    • 2012-05-08
    • 2017-11-01
    • 2012-05-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多