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());
}

Это API org.asynchttpclient 2.12.4, где ProxyServer находится в пакете proxy. Для этого публичного примера с HTTPS замените посредника неаутентифицированным кандидатом из списка HTTP-прокси и настройте сайт отдельно. Конфигурация передаётся до создания клиента, и бюджет запроса в 15 секунд — часть этой настройки.

Пример ожидает future в течение времени жизни клиента. Асинхронное приложение может вместо этого скомпоновать его, но должно удерживать клиент, пока не завершится порученная ему работа.

Если поддерживаемые свойства JVM — предполагаемый источник политики, явно выберите setUseProxyProperties(true). Наличие свойства в одной среде выполнения не доказывает, что каждый клиент его включил.

Старые примеры Dispatch часто оборачивают com.ning и используют другое свойство включения. Ориентируйтесь на imports и API базового клиента, а не смешивайте ту конфигурацию с этим строителем 2.x.

Похожие статьи