gpt4 book ai didi

c# - 如何通过任何浏览器捕获访问过的 URL 及其 html

转载 作者:可可西里 更新时间:2023-11-01 16:23:33 26 4
gpt4 key购买 nike

我想找到一个不错的解决方案来跟踪用户正在访问的 URL 和 html 内容,并为用户提供更多信息。该解决方案应将对最终用户的影响降到最低。

我不想为不同的浏览器编写插件。很难维护。我不接受代理方法,因为我不想更改任何用户的代理设置。我的应用程序是用 C# 编写的,面向 Windows。最好该解决方案也可以支持其他操作系统。

根据我的研究,我发现以下方法看起来对我有用,但它们都有缺点,我无法确定哪一种是最好的。

  1. 使用 WinPcapWinPcap 在不更改任何用户设置的情况下嗅探所有 TCP 数据包,但只需要安装 WinPcap 安装程序,这对我来说是可以接受的。但我有两个问题:A。如何将TCP数据包转换成URL和HTMLb.它真的会影响性能吗?我不知道嗅探所有 TCP 流量是否是针对此需求的开销。

  2. 查找不同浏览器的历史文件这种方式看起来像最简单的方式,但我想知道解决方案是否稳定。我不确定浏览器是否会稳定地写入历史记录以及何时写入。我的应用程序将在用户离开当前页面之前弹出信息。如果浏览器在用户关闭浏览器时写入历史文件,则该解决方案对我不起作用。

  3. 使用 FindWindow 或 accessibility 对象或 COM 接口(interface)来查找包含 URL 的 UI 元素我发现这种方式并不完整,例如,Chrome 只会显示事件选项卡的 URL 而不是全部。另一个缺点是我必须再次请求 URL 以获取其 HTML 内容。

欢迎任何意见或建议。顺便说一句,我没有做任何 spy 软件。该应用程序试图从网页中找到所有 RSS 提要并将它们显示给最终用户。我可以在浏览器插件中轻松做到这一点,但我真的想用单一 UI 支持多个浏览器。谢谢。

最佳答案

虽然这是一篇很老的帖子,但我还是想提供一点意见。

WinPcap 的方法 1 是最好的方法。这适用于任何浏览器,甚至是任何其他已安装应用程序的内置浏览器。该方法也将减少资源消耗。

有一个库 Pcap.Net 有 HTTP 解析器。您可以构造 http 流并使用它的 httpresponse 数据报来解析您的应用程序可以使用的正文。

This link helped giving more insight to me - Tcp Session Reconstruction with Winpcap

关于c# - 如何通过任何浏览器捕获访问过的 URL 及其 html,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4643993/

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