【问题标题】:Intercepting outgoing deployed Java web application API calls拦截传出的已部署 Java Web 应用程序 API 调用
【发布时间】:2022-01-06 15:17:53
【问题描述】:

我的客户端有一个使用 Java 7 构建的 Web 应用程序,该应用程序部署在 Tomcat 7 容器中。此应用程序使用带有硬编码配置的 SMS API。有没有办法拦截此 API 调用以覆盖当前配置并将其转发到另一个 SMS API。

我曾考虑在同一个 Tomcat 容器上部署另一场战争以充当拦截器,因为我无权访问旧版应用程序代码。有没有更好或更清洁的方法来实现这一目标?

【问题讨论】:

    标签: java api tomcat war interceptor


    【解决方案1】:

    您可以尝试为Tomcat配置-Dhttp.proxy-Djavax.net.ssl.trustStore,看看它是否可以将出站流量路由到您的代理,以便您可以在那里拦截和处理这些请求。

    如果它不起作用,您可以实现一个 Java 代理并将其附加到您的 Tomcat 的 JVM 上。 Java 代理可以拦截来自旧应用程序的那些 HTTP 出站调用的字节码,以便您可以转换它们。一个名为HTTP Toolkit 的开源项目已经实现了这样的东西。但是如果要拦截来自JVM的HTTP请求,似乎需要订阅。

    如果您不想订阅,可以参考this了解如何自己实现该Java代理的详细信息。

    【讨论】:

    • 您无需订阅 - HTTP Toolkit 对于所有简单功能都是免费的,例如拦截、查看和断点所有 JVM 流量。只有高级自动重写规则、导入/导出等需要 Pro。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-11-14
    • 2023-03-27
    • 1970-01-01
    • 1970-01-01
    • 2018-10-11
    • 1970-01-01
    • 2015-01-31
    相关资源
    最近更新 更多