Pregunta

Estoy tratando de utilizar el más reciente (4.0.1) Apache biblioteca de componentes básicos http. Sin embargo, mi navegador de Internet pasa a través de un proxy - Supongamos que es myproxy.com:9191. Podría alguien proporcionar un código de ejemplo para conseguir un simple HTTP GET a utilizar esto como un proxy?

He intentado añadir lo siguiente en el comienzo de mi código, pero no tenía la alegría:

ProxySelector.setDefault(new ProxySelector() {
  public List<Proxy> select(URI uri) {
    Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress("myproxy.com", 9191);
    return Arrays.asList(new Proxy[]{proxy)});
  }
  public void connectFailed(URI uri, SocketAddress sa, IOException ioe) {
    ioe.printStackTrace();
  }
});
¿Fue útil?

Solución

En ausencia de una respuesta, esto es lo que descubrí.

En primer lugar, para este tipo de cosas, no sólo quiere usar la biblioteca central http, que desea utilizar httpclient así, asegúrese de descargar tanto desde la página de descarga.

En segundo lugar, utilizar este código:

DefaultHttpClient httpclient = new DefaultHttpClient();
HttpHost proxy = new HttpHost("myproxy.com", 9191);
httpclient.getCredentialsProvider().setCredentials(
  new AuthScope(PROXY, PROXY_PORT),
  new UsernamePasswordCredentials("username", "password"));
httpclient.getParams().setParameter(ConnRoutePNames.DEFAULT_PROXY, proxy);
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top