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

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

有帮助吗?

解决方案

如果您可以触摸系统的代理配置(由许多应用程序使用),或者,如果应用程序没有注意到该设置,请触摸应用程序的配置以使用您选择的代理,您可以创建 HTTP代理,可以为您完成这项工作。

如果你只是想描述一下,有一个现成的工具,表现得像这样,非常好, Fiddler

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

其他提示

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

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

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top