泽西岛2.0通过代理获得电话

时间:2015-04-24 11:26:22

标签: java rest jersey-2.0

我正在使用Jersey 2.4.1进行休息,并希望通过HTTP和HTTPS代理进行GET或Post调用。我无法做到。我已经在互联网上搜索并找到了许多链接,但现在大部分已经过时了。一些帮助将非常有用,因为从Jersey 1.X到2.X

有很多变化

这是我的GET调用代码(工作正常)。我想修改它以通过HTTP和HTTPS代理进行此调用。任何指针都会有所帮助。

javax.ws.rs.core.Response response = null;
Client client = ClientBuilder.newClient();
WebTarget target = client.target(url); //url is string
response = target.request().header("Authorization", header).accept(javax.ws.rs.core.MediaType.APPLICATION_JSON).get();

2 个答案:

答案 0 :(得分:0)

尝试使用ClientConfiguration对象,设置所需的任何属性,然后使用ClientBuilder.withConfig(配置配置)设置配置。然后,您可以使用build()方法构建它。 看看这个例子:

ClientConfig cc = new ClientConfig();
cc.property(ClientProperties.PROXY_URI, "8.8.8.8:80");
Client client = JerseyClientBuilder.withConfig(cc).build();

但这仅适用于http代理。 要设置https代理,您必须设置系统属性,如下所示:

System.setProperty("http.proxyHost", "some.proxy");
System.setProperty("http.proxyPort", "3476");
System.setProperty("https.proxyHost", "some.https.proxy");
System.setProperty("https.proxyPort", "6235");

阅读this了解更多信息。

答案 1 :(得分:0)

代理将疯狂。我遇到了很多与Proxy有关的问题。我将在代理env中进行以下检查

检查#1:
因为这是GET请求。将请求URL直接放在Web浏览器或CURL中。如果你得到了答复。然后与你的代码有关。否则,您需要在系统网络设置中修复代理设置。

检查#2:
如果您使用的是Eclipse IDE,则需要在Eclipse中修复代理设置 http://www.mkyong.com/web-development/how-to-configure-proxy-settings-in-eclipse/

您需要使用代理URL设置ClientBuilder。

https://gist.github.com/qerub/5877919 (使用属性文件中的代理URL。)

希望它有效。