java - 如何通过代理重定向 javax.ws.rs.client.WebTarget Post 请求

标签 java rest post javax.ws.rs

我有一台服务器正在尝试对外部 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。

最佳答案

答案如下

Proxy setting not working in Jersey ClientConfig

我已将所需的代码段添加到原始问题的末尾。

关于java - 如何通过代理重定向 javax.ws.rs.client.WebTarget Post 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53851820/

相关文章:

java - 泛型和静态方法

android - 使用 Retrofit 发布正文 JSON

web-services - 为什么我们需要 RESTful Web 服务?

c# - 来自 WP7 应用程序的帖子是一个空数组

java - 使用 IabHelper android 在应用程序开始时获取购买的项目详细信息

java - 将 Wicket 值插入 Java 中的 JavaScript 函数

java - Bufferedreader 无法读取整个文件

node.js - Rest API Kafka 流

asp.net-mvc - MVC表格网格发布表格并逐行读取

ios - 使用 RESTKit 发出 POST 请求