Configurar um proxy explícito no AsyncHttpClient 2.x
Defina um ProxyServer numa configuração do AsyncHttpClient 2.12.4 antes de construir o cliente, com uma escolha deliberada sobre a descoberta de propriedades da JVM.
DefaultAsyncHttpClientConfig.Builder config = Dsl.config()
.setProxyServer(
new ProxyServer.Builder("proxy.example", 8080))
.setRequestTimeout(15000);
try (AsyncHttpClient client = Dsl.asyncHttpClient(config)) {
Response response = client.prepareGet("https://www.example.com/")
.execute().toCompletableFuture().join();
System.out.println(response.getStatusCode());
}
Esta é a API do org.asynchttpclient 2.12.4, com o ProxyServer no seu pacote de proxy. Para este exemplo público de HTTPS, substitua o intermediário por um candidato sem autenticação da lista de proxy HTTP e configure o site separadamente. A configuração é fornecida antes da construção do cliente, e o orçamento de 15 segundos para o pedido faz parte dessa preparação.
O exemplo espera o future dentro do tempo de vida do cliente. Uma aplicação assíncrona pode compô-lo em vez disso, mas tem de manter o cliente até o trabalho atribuído terminar.
Se as propriedades JVM suportadas forem a fonte de política pretendida, selecione setUseProxyProperties(true) explicitamente. A presença de uma propriedade num runtime não prova que todos os clientes a tenham adotado.
Exemplos antigos de Dispatch frequentemente envolvem com.ning e usam uma propriedade de adesão diferente. Alinhe-se com os imports e a API do cliente subjacente em vez de misturar essa configuração com este construtor 2.x.