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

时间:2008-09-26 02:07:30

标签: .net unit-testing http proxy automation

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

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

1 个答案:

答案 0 :(得分:3)

我简要地研究了同样的事情并考虑了两个解决方案(但还没有尝试过)。

我的第一个建议是使用HttpListener类(可能还有Webclient或其他System.Net http相关类将请求重新发布到您的应用程序)作为WebBrowser测试调用的代理。我没有使用HttpListener的经验,但它看起来像是一种简单而有前途的方式来将调用代理到你的应用程序。

我的第二个建议就是做Fiddler所做的事情:点击测试机器上的WinINET Http堆栈作为代理(使用某种过滤器将其缩小到只有你的WebBrowser的调用)。不幸的是,我能找到的最好的例子是Fiddler本身,我知道获取代码的唯一方法是Reflector。有可能以另一种方式获取Fiddler代理代码,但我没有时间完全调查此路径。

HTH! 理查德