类似于 HttpFilter (javax.Servlet.Filter),当添加到 web.xml 中时,它可以拦截任何对 JVM 的传入请求/传出(作为响应)独立于框架(Spring/CXF/Jersy 等),我试图找到一个 API,它可以拦截来自 JVM 的任何传出 HTTP 调用,以添加/修改独立于框架的 header 。还通过代理路由请求听起来势不可挡。
Outgoing HTTP call 这个词在论坛上经常被误解,所以让我用例子来解释一下。
让我们假设有两个 JVM,jvm1 和 jvm2。并且有从 JVM1 到 JVM2 的 HTTP 调用。我想拦截从 JVM1 建立的 HTTP 连接,以便在调用发生之前修改 header 信息。我不希望将代码绑定(bind)到特定框架,以便我可以将拦截器作为 jar 捆绑并与应用程序团队共享。 web.xml 中的更改没问题。
有什么建议吗?请帮助!
最佳答案
两个 JVM 都可能以任何方式使用 java.net.Socket
或 java.net.ServerSocket
进行通信,这里无法拦截任何内容。
如果您通过(透明)proxy 连接,您可能会拦截任何 HTTP 流量.代理会拦截任何内容,您可以修改任何内容。
关于java - 拦截所有传出的http调用java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27487979/