我有一台服务器正在尝试对外部 IP 进行 POST 调用,不幸的是,如果我直接进行调用,它会被内部防火墙阻止。
但是我们确实有一个允许出站 http 流量的代理,如果我首先通过此代理重定向 POST 调用,那么它应该会成功。
进行调用的客户端正在使用 javax.ws.rs.client.WebTarget 对象以调用格式创建/引导 POST:
WebTarget.path("URL_HERE").request().post(ENTITY_HERE).readEntity(RETURN_TYPE_HERE.class);
但是,我在 javax ws 文档中看不到通过代理重定向此调用的方法(例如通过 host = proxy_domain 和 port = 1)。
其次,有没有办法确定代理重定向的范围?例如,我可以在网上看到一些关于更新全局设置的 wsdl 的类似文档 - 但我只希望在这个单一的 POST 调用中发生这种情况。
编辑:这个问题与之前有关代理调用的问题相同,尽管该问题的答案还不够 - 我在此处的注释中添加了一条注释,说明添加了实例化“via”调用所需的 ApacheConnectorProvider。
前面提到的解决方案是按照以下方式创建配置:
ClientConfig config = new ClientConfig().connectorProvider(new ApacheConnectorProvider()) .property(ClientProperties.PROXY_URI, "http://PROXY_ADDRESS:PROXY_PORT");
使用 Jersey 2.27。
最佳答案
关于java - 如何通过代理重定向 javax.ws.rs.client.WebTarget Post 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53851820/