我正在使用浏览器自动化来测试网站,但我需要验证来自浏览器的 HTTP 请求(即图像、外部脚本、XmlHttpRequest 对象)。有没有办法以编程方式实例化代理或数据包嗅探器以供浏览器使用,以查看其发送的内容?
我已经在使用 Fiddler 来查看流量,但我想要一些可以在持续构建集成中使用的无 UI 的东西。
我可以轻松地从 WinpCap 获取特定于 HTTP 的信息吗?
我正在使用浏览器自动化来测试网站,但我需要验证来自浏览器的 HTTP 请求(即图像、外部脚本、XmlHttpRequest 对象)。有没有办法以编程方式实例化代理或数据包嗅探器以供浏览器使用,以查看其发送的内容?
我已经在使用 Fiddler 来查看流量,但我想要一些可以在持续构建集成中使用的无 UI 的东西。
我可以轻松地从 WinpCap 获取特定于 HTTP 的信息吗?
试试 winpcap 。它是一个驱动程序/库组合,可用于监控数据包。根据您要执行的操作(使用 oa UI 观察流量),这可能是比编写自己的代理更简单的解决方案。
您可能不想代理,这会引入很多不必要的复杂性。
考虑使用数据包嗅探,这几乎是一个已解决的问题。Wireshark作为一个可以手动使用的独立实用程序非常方便,但也可以使用 Wireshark 所基于的库 WinPcap 以编程方式进行数据包嗅探。这是 .Net 中的几个 WinPcap 示例、.NetNomad 的示例项目示例和CodeProject 教程,也有源代码。
为此有许多应用程序。我的推荐是Wireshark
您是否考虑过实现 Http 模块或 Http 处理程序 (.ashx)?它们将允许您拦截每个 Web 请求并在访问您的页面之前根据需要处理它们。