Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我想查看某个应用程序发出的所有 HTTP 请求,并在需要时取消它们。
有没有办法在 C# 中做到这一点?
如果您可以触摸系统的代理配置(由许多应用程序使用),或者如果应用程序不注意该设置,请触摸应用程序的配置以使用您选择的代理,您可以创建一个HTTP 代理来执行为你工作。
如果你只是想分析,有一个现成的工具,它的行为就像这样并且非常好,Fiddler。
否则,您必须深入网络堆栈并实现嗅探器/防火墙之类的东西,例如使用WinPcap。这很难做到。
如果您使用的是 Windows,则可以挂钩 WinInet API 调用并使用它们做任何您想做的事情。
FreeCap(或其商业版本,WideCap)这样做:允许您通过代理服务器发送 TCP 流量。然后该代理可能会进行过滤(例如Fiddler)。
我知道这会给系统带来更多的独立应用程序,但它确实有效。