在.NET中以编程方式监听HTTP流量有什么办法吗?

时间:2008-09-26 02:29:31

标签: .net http proxy automation winpcap

我正在使用浏览器自动化来测试网站,但我需要验证来自浏览器的HTTP请求(即图像,外部脚本,XmlHttpRequest对象)。有没有办法以编程方式实例化浏览器使用的代理或数据包嗅探器,以便查看它的发送内容?

我已经在使用Fiddler来观察流量,但我想要的东西是无需UI的,我可以在连续构建集成中使用。

我可以轻松地从WinpCap获取特定于HTTP的信息吗?

4 个答案:

答案 0 :(得分:2)

尝试winpcap。它是一个驱动程序/库组合,可用于监视数据包。根据您的尝试(使用UI观看流量),这可能是一个比编写自己的代理更简单的解决方案。

答案 1 :(得分:2)

你可能不想代理,这会引入很多不必要的复杂性。

考虑数据包嗅探,这几乎是一个已解决的问题。 Wireshark作为一个可以手动使用的独立工具很方便,但也可以使用WinPcap(Wireshark所基于的库)以编程方式进行数据包嗅探。以下是.Net中的几个WinPcap示例,.NetNomad's example with sample projecta CodeProject tutorial,以及源代码。

答案 2 :(得分:1)

有很多应用程序。我的推荐是Wireshark

答案 3 :(得分:0)

您是否考虑过实现Http模块或Http Handler(.ashx)?它们将允许您拦截每个Web请求,并在到达您的页面之前根据需要处理它们。