我正在使用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();
答案 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。)
希望它有效。