.NET中有什么方法可以以编程方式侦听HTTP流量?
时间:2020-03-06 14:45:44 来源:igfitidea点击:
我正在使用浏览器自动化来测试网站,但是我需要验证来自浏览器的HTTP请求(即图像,外部脚本,XmlHttpRequest对象)。有没有一种方法可以以编程方式实例化代理或者数据包嗅探器以供浏览器使用,以查看其发送的内容?
我已经在使用Fiddler来监视流量了,但是我希望我可以在连续的构建集成中使用没有UI的东西。
我可以轻松地从WinpCap获得HTTP特定的信息吗?
解决方案
我们是否考虑过实现Http模块或者Http处理程序(.ashx)?它们将使我们能够拦截每个Web请求,并在进入页面之前根据需要对其进行处理。
试试winpcap。它是驱动程序/库的组合,可用于监视数据包。根据我们要尝试执行的操作(不通过UI监视流量),这可能比编写自己的代理更简单的解决方案。
有很多应用程序可以做到这一点。我的建议是Wireshark
我们可能不想代理,这会带来很多不必要的复杂性。
请考虑使用数据包嗅探,这几乎是一个已解决的问题。 Wireshark作为一个独立的实用工具非常方便,可以手动使用,但也可以使用Winshcap(Wireshark所基于的库)以编程方式进行数据包嗅探。这是.Net中WinPcap的两个示例,.NetNomad的示例项目示例,以及CodeProject教程(也包含源代码)。