2

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

有没有办法在 C# 中做到这一点?

4

2 回答 2

7

如果您可以触摸系统的代理配置(由许多应用程序使用),或者如果应用程序不注意该设置,请触摸应用程序的配置以使用您选择的代理,您可以创建一个HTTP 代理来执行为你工作。

如果你只是想分析,有一个现成的工具,它的行为就像这样并且非常好,Fiddler

否则,您必须深入网络堆栈并实现嗅探器/防火墙之类的东西,例如使用WinPcap。这很难做到。

于 2009-01-02T08:28:19.710 回答
3

如果您使用的是 Windows,则可以挂钩 WinInet API 调用并使用它们做任何您想做的事情。

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

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

于 2009-01-02T08:42:18.167 回答