如何拦截Http流量

我正在尝试开发一个C#应用程序,它将拦截传出的Http请求并将结果返回给旧系统。 我们有一个遗留系统,它向已停产的Web服务发出Http请求。 我需要拦截即将发出的请求并将其发送到新的Web服务。 当响应返回时,我需要操纵它然后将其发送到遗留系统。 所有代码都需要位于客户端计算机上。 我认为http听众的方式可行,但我没有得到任何结果,任何建议将不胜感激。

感谢大家的建议,这就是答案。

我曾使用Eric Lawrence的Fiddler2作为代理人。 然后我写了一个Fiddler扩展,它截获了我感兴趣的特定Http请求,并且瞧。

如果这是在Windows服务器上运行,您可以编辑’hosts’文件,以便将请求重定向到其他服务器,包括相同的主机(localhost)(如果需要)。 在那里,您可以让中间Web服务转换请求和响应。

遗留系统是否支持http代理的规范? 如果是这样,那可能就是你想要做的事情 – 写一些充当代理的东西,并将旧系统指向它。

如果您的遗留系统可以像Dav建议的那样使用代理,您可以使用像Foxy这样的东西来进行重定向。 我不确定,但我相信有些软件使用IE进行HTTP传输,所以尝试在客户机上的IE中设置HTTP代理?

如果不是,我认为这是一个棘手的问题,因为基本上你试图拦截和修改TCP / IP流量,我认为这可能只有高级防火墙或路由器可能。

tcpmon是一个开源实用程序,用于监视TCP连接上的数据流。 将tcpmon放在客户端和服务器之间。 客户端连接到tcpmon,tcpmon将数据转发到服务器,并在其GUI中显示它。 https://tcpmon.dev.java.net/

您可以编写HTTP模块 。