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