Estoy usando la biblioteca httpclient común de apache. ¿Es posible hacer una solicitud HTTP sobre un proxy? Más específico, necesito usar la lista de proxy para solicitudes POST multiproceso (en este momento estoy probando con solicitudes GET de subproceso único).HTTPclient común y proxy
He intentado utilizar:
httpclient.getHostConfiguration().setProxy("67.177.104.230", 58720);
recibo errores con ese código:
21.03.2012. 20:49:17 org.apache.commons.httpclient.HttpMethodDirector executeWithRetry
INFO: I/O exception (java.net.ConnectException) caught when processing request: Connection refused: connect
21.03.2012. 20:49:17 org.apache.commons.httpclient.HttpMethodDirector executeWithRetry
INFO: Retrying request
21.03.2012. 20:49:19 org.apache.commons.httpclient.HttpMethodDirector executeWithRetry
INFO: I/O exception (java.net.ConnectException) caught when processing request: Connection refused: connect
21.03.2012. 20:49:19 org.apache.commons.httpclient.HttpMethodDirector executeWithRetry
INFO: Retrying request
21.03.2012. 20:49:21 org.apache.commons.httpclient.HttpMethodDirector executeWithRetry
INFO: I/O exception (java.net.ConnectException) caught when processing request: Connection refused: connect
21.03.2012. 20:49:21 org.apache.commons.httpclient.HttpMethodDirector executeWithRetry
INFO: Retrying request
org.apache.commons.httpclient.ProtocolException: The server xxxxx failed to respond with a valid HTTP response
at org.apache.commons.httpclient.HttpMethodBase.readStatusLine(HttpMethodBase.java:1846)
at org.apache.commons.httpclient.HttpMethodBase.readResponse(HttpMethodBase.java:1590)
at org.apache.commons.httpclient.HttpMethodBase.execute(HttpMethodBase.java:995)
at org.apache.commons.httpclient.ConnectMethod.execute(ConnectMethod.java:144)
at org.apache.commons.httpclient.HttpMethodDirector.executeConnect(HttpMethodDirector.java:495)
at org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:390)
at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:170)
at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:396)
at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:324)
at test.main(test.java:42)
Cuando quito esa línea, todo funciona muy bien como se esperaba.
De hecho es posible. En su excepción, ¿qué host es el 'xxxxx' redactado? ¿Tu proxy o el destino? ¿Por qué tienes tantas conexiones rechazadas? ¿Su proxy realmente funciona correctamente? –
Ha configurado un proxy HTTP, no un proxy SOCKS. SOFTWARE no es compatible con HttpClient 3. Es posible que pueda utilizar las propiedades del sistema 'socksProxyHost' y 'socksProxyPort'. O HttpComponents HttpClient 4 puede admitir proxies SOCKS. –