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-ին։

Հաճախորդի կառուցողի միացման ժամանակային սահմանը կիրառվում է կապ հաստատելիս, իսկ հարցումն ունի իր սահմանը։ Երկուսն էլ հստակ պահեք, քանի որ հարցումը կարող է կրկին օգտագործել առկա կապը։ Ցանցի, նույնականացման կամ թունելի բացառությունը կարող է առաջանալ նպատակակետի ցանկացած պատասխանից առաջ, իսկ վերադարձված սխալի կարգավիճակը պարտադիր չէ, որ բացառություն առաջացնի։

Նույն երթուղավորման քաղաքականությամբ հարցումների համար կրկին օգտագործեք հաճախորդը, որպեսզի հավելվածն օգտվի դրա կապերի կառավարումից։

Առնչվող հոդվածներ