В Java 11 или по-нова задайте ProxySelector на конструктора на клиента. Така прокси свойствата за цялата JVM остават непроменени:

import java.net.InetSocketAddress;
import java.net.ProxySelector;
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.time.Duration;

public class ProxyExample {
    public static void main(String[] args) throws Exception {
        HttpClient client = HttpClient.newBuilder()
            .proxy(ProxySelector.of(
                new InetSocketAddress("203.0.113.10", 8080)))
            .connectTimeout(Duration.ofSeconds(5))
            .build();

        HttpRequest request = HttpRequest.newBuilder()
            .uri(URI.create("https://example.com/"))
            .timeout(Duration.ofSeconds(15))
            .GET()
            .build();

        HttpResponse<String> response = client.send(
            request, HttpResponse.BodyHandlers.ofString());
        System.out.println(response.statusCode());
        System.out.println(response.body());
    }
}

Заменете документационната крайна точка с вашето HTTP прокси; списъкът с HTTP прокси предлага кандидати за тест. ProxySelector.of приема адрес на сокет: използвайте хоста без префикс http:// и подайте порта отделно. Избира се HTTP прокси, а не SOCKS според номера на порта. URI на заявката остава действителната цел.

HTTPS може да премине през това HTTP прокси с тунел. Не е нужно понижаване на защитата на целта и настройката не означава, че самият слушател на проксито поддържа TLS.

Времето за изчакване на връзката в конструктора важи при установяване на връзка; заявката има собствено време за изчакване. Дръжте и двете явни, защото заявката може да използва съществуваща връзка повторно. Мрежово, удостоверително или тунелно изключение може да настъпи преди отговор от целта, докато върнат статус за грешка не е задължително да предизвика изключение.

Използвайте клиента повторно за заявки с еднаква политика на маршрутизиране, за да се възползва приложението от управлението му на връзките.

Подобни статии