![我如何拦截 http 请求,立即使用自定义 http 响应进行响应,并将原始 http 请求转发到服务器?](https://linux22.com/image/719654/%E6%88%91%E5%A6%82%E4%BD%95%E6%8B%A6%E6%88%AA%20http%20%E8%AF%B7%E6%B1%82%EF%BC%8C%E7%AB%8B%E5%8D%B3%E4%BD%BF%E7%94%A8%E8%87%AA%E5%AE%9A%E4%B9%89%20http%20%E5%93%8D%E5%BA%94%E8%BF%9B%E8%A1%8C%E5%93%8D%E5%BA%94%EF%BC%8C%E5%B9%B6%E5%B0%86%E5%8E%9F%E5%A7%8B%20http%20%E8%AF%B7%E6%B1%82%E8%BD%AC%E5%8F%91%E5%88%B0%E6%9C%8D%E5%8A%A1%E5%99%A8%EF%BC%9F.png)
我有一个应用程序,每次向服务器发出 http 请求时都会停滞。它会停滞,直到收到服务器的响应。问题是,服务器需要一段时间才能响应这个特定的 http 请求,并且需要几秒钟(10-30 秒)。这会导致应用程序出现很大的延迟。对 http 请求的响应始终相同(基本上是“OK”),并且请求从未失败……只是服务器需要很长时间来处理它。
我正在尝试消除这种延迟,可能使用代理服务器或 MITM 应用程序来拦截此 http 请求并立即响应“OK”,同时将此 http 请求转发到服务器。
有什么工具可以用来实现这个吗?我看到 Charles 之类的东西中有重写工具,但这些工具基本上重写了 http 请求或响应,这并不是我想要做的。
基本上,流程是这样的:
- 代理服务器接收 http 请求。
- 代理服务器立即对 http 请求做出适当的响应(“OK”)。
- 代理服务器将 http 请求发送到主服务器(应用程序想要与之通信的服务器)。
- 代理服务器稍后(10-30 秒)从主服务器收到答复,然后简单地将其转储(因为应用程序已经收到了它的答复)。