【发布时间】:2014-11-27 13:25:12
【问题描述】:
我使用 Jersey 2.11 访问 confluence REST API 并从那里获取内容。
import org.codehaus.jettison.json.JSONArray;
import org.codehaus.jettison.json.JSONException;
import org.codehaus.jettison.json.JSONObject;
import org.glassfish.jersey.apache.connector.ApacheClientProperties;
import org.glassfish.jersey.client.ClientConfig;
import org.glassfish.jersey.client.ClientProperties;
import org.glassfish.jersey.client.authentication.HttpAuthenticationFeature;
import javax.net.ssl.HostnameVerifier;
import javax.net.ssl.SSLSession;
import javax.ws.rs.client.Client;
import javax.ws.rs.client.ClientBuilder;
import javax.ws.rs.client.Entity;
import javax.ws.rs.client.WebTarget;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
....
HttpAuthenticationFeature feature = HttpAuthenticationFeature.basic(
"confluenceUsername", "confluencePassword"
);
ClientConfig cc = new ClientConfig();
cc.property(ClientProperties.PROXY_URI, "xx.xx.xx.xx:xxxx");
Client client = ClientBuilder.newClient(cc);
client.register(feature);
WebTarget target = client.target(credential.getUrl())
.path("rest").path("api").path("content").path(id)
.queryParam("expand", "space,body.storage,version,container,ancestors");
Response response = target.request().get();
这是在 Jersey 2.11 中使用 Java 代理的当前正确方法吗?我总是例外
java.net.ConnectException: Connection refused: connect
javax.ws.rs.ProcessingException: java.net.Connect Exception: Connection refused: connect
at org.glassfish.jersey.client.HttpUrlConnector.apply(HttpUrlConnector.java:229)
...
我想访问的 confluence 站点使用 https。在不需要代理的机器上使用它
HttpAuthenticationFeature feature = HttpAuthenticationFeature.basic(
"confluenceUsername", "confluencePassword");
Client client = ClientBuilder.newClient();
client.register(feature);
所以 Confluence 不是问题。我认为代理规范有问题,但不知道是什么。
【问题讨论】:
-
@ursa 你的意思是我的代理配置是最新的 jersey 2.11 并且问题是缺少 SSL 证书接受吗?
-
是的。看来你的客户不接受代理的证书,所以我建议你在这边挖。
-
我建议使用这个stackoverflow.com/a/9541524/1791139,但代码适用于旧球衣 1 版本,您有当前 2.11 接受所有 SSL 证书的示例吗?
-
@user1791139 参见 stackoverflow.com/questions/18942648/… 使用 apache 连接器的解决方案
标签: java rest proxy jersey jersey-2.0