Poco confundido acerca de lo que es realmente posible aquí.Cadena proxy en Apache HTTP
¿Pueden los proxys de cadena Java Apache HTTP Client (4.x)? ¿Algún consejo sobre cómo?
He encontrado documentation suggesting it can pero la fuente es un poco complicada y he encontrado al menos una clase (DefaultRequestDirector
) que arroja una excepción;
throw new HttpException("Proxy chains are not supported.")
Es sencillo para configurar un cliente con un único proxy utilizando
httpclient.getParams().setParameter(ConnRoutePNames.DEFAULT_PROXY, proxy);
pero no es obvio para mí cómo configurar una cadena de proxies. Si sigo las sugerencias de la documentación anterior, hago lo siguiente.
httpClient.setRoutePlanner(new HttpRoutePlanner() {
@Override
public HttpRoute determineRoute(HttpHost target, HttpRequest request, HttpContext context) throws HttpException {
return new HttpRoute(target, null, new HttpHost[]{proxy, new HttpHost("localhost", 8081)}, "https".equalsIgnoreCase(target.getSchemeName()), TunnelType.TUNNELLED, LayerType.PLAIN);
}
});
pero eso causa la excepción mencionada anteriormente;
org.apache.http.client.ClientProtocolException
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:822)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:754)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:732)
at Main.main(Main.java:70)
Caused by: org.apache.http.HttpException: Proxy chains are not supported.
at org.apache.http.impl.client.DefaultRequestDirector.createTunnelToProxy(DefaultRequestDirector.java:957)
at org.apache.http.impl.client.DefaultRequestDirector.establishRoute(DefaultRequestDirector.java:764)
at org.apache.http.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:579)
at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:425)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:820)
... 8 more
¿Ha preguntado en la lista de correo? http://mail-archives.apache.org/mod_mbox/hc-httpclient-users/ – artbristol
¡no! gracias, buen punto: D – Toby