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-ს.

კლიენტის მშენებლის დაკავშირების დროის ლიმიტი კავშირის დამყარებისას მოქმედებს; მოთხოვნას თავისი ლიმიტი აქვს. ორივე ნათლად დატოვეთ, რადგან მოთხოვნამ შეიძლება არსებული კავშირი ხელახლა გამოიყენოს. ქსელის, ავთენტიფიკაციის ან გვირაბის გამონაკლისი დანიშნულების ნებისმიერ პასუხამდე შეიძლება წარმოიშვას, მაშინ როცა დაბრუნებული შეცდომის სტატუსი გამონაკლისს აუცილებლობით არ იწვევს.

ერთი და იმავე მარშრუტიზაციის პოლიტიკის მოთხოვნებისთვის კლიენტი ხელახლა გამოიყენეთ, რათა აპლიკაციამ მისი კავშირების მართვით ისარგებლოს.

დაკავშირებული სტატიები