如何拦截来自应用程序的HTTP调用?

时间:2009-01-02 08:16:19

标签: c# http profiling

我想要查看某个应用程序发出的所有HTTP请求,并在需要时取消它们。

有没有办法在C#中执行此操作?

2 个答案:

答案 0 :(得分:7)

如果您可以触摸系统的代理配置(许多应用程序使用它),或者,如果应用程序没有注意到该设置,请触摸应用程序的配置以使用您选择的代理,您可以创建{{3那会为你做的工作。

如果您只想分析,有一个现成的工具,其行为与此类似,非常好,HTTP proxy

否则,您必须深入了解网络堆栈并实施类似嗅探器/防火墙的操作,例如使用Fiddler。这样做要困难得多。

答案 1 :(得分:3)

如果您正在使用Windows,则可以挂钩WinInet API调用并随意执行任何操作。

FreeCap(或其商业版本,WideCap)可以:允许您通过代理服务器发送TCP流量。然后,该代理可以进行过滤(例如Fiddler)。

我知道这会为系统带来更多的独立应用程序,但它确实有效。