在.NET中,有没有一种程序化地监听HTTP流量的方法?

3

我正在使用浏览器自动化测试网站,但我需要验证浏览器发送的HTTP请求(例如图像、外部脚本、XmlHttpRequest对象)。是否有一种可以编程实例化代理以供浏览器使用以查看其发送内容的方法?

我已经使用Fiddler来监视流量,但我想要一个无界面的工具,可以在持续的构建集成中使用。

1个回答

3

我简要地研究过同样的问题,并考虑了两种解决方案(但尚未尝试)。

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

我提出的第二个建议是像Fiddler那样:在测试机器上接入WinINET Http堆栈以充当代理(使用某种过滤器将其缩小到仅限于您的WebBrowser的调用)。不幸的是,我能找到的最好的示例就是Fiddler本身,而我知道获取代码的唯一方法是反编译器。也许还有其他方法可以获得Fiddler代理代码,但我没有时间全面调查这条路。

希望对你有帮助! Richard


我可能会直接在Fiddler上进行反射。谢谢。 - Mark Cidade

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接