Como faço para configurar o apache httpcore 4 para usar um proxy?
-
19-09-2019 - |
Pergunta
Eu estou tentando usar a biblioteca mais recente (4.0.1) Apache HTTP componentes principais. No entanto, o meu navegador web passa por um proxy - suponho que é myproxy.com:9191. alguém poderia fornecer um código de exemplo para obter um simples HTTP GET para usar isso como um proxy?
Eu tentei adicionar o seguinte no início do meu código, mas não tinha alegria:
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();
}
});
Solução
Na ausência de uma resposta, aqui está o que eu descobri.
Em primeiro lugar, para este tipo de coisa, você não só quer usar a biblioteca núcleo http, você quer usar httpclient assim, certifique-se de baixar tanto na página de download.
Em segundo lugar, use 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 em: CC-BY-SA com atribuição
Não afiliado a StackOverflow