Kwa Java 11 au mpya zaidi, weka ProxySelector kwenye kijenzi cha mteja. Hii inaacha sifa za proksi za JVM nzima bila mabadiliko:

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

Badilisha sehemu ya mfano wa nyaraka kwa proksi yako ya HTTP; orodha ya proksi za HTTP inatoa wagombea wa kujaribu. ProxySelector.of hupokea anwani ya soketi: tumia hosti bila kiambishi http:// na toa porti kando. Huchagua proksi ya HTTP, si SOCKS kulingana na namba ya porti. URI ya ombi inabaki lengwa halisi.

HTTPS inaweza kupitia proksi hii ya HTTP kwa handaki. Si lazima kupunguza usalama wa lengwa, na usanidi huu haumaanishi kwamba kisikilizaji cha proksi chenyewe kinaunga mkono TLS.

Muda wa kusubiri muunganisho kwenye kijenzi cha mteja hutumika wakati wa kuanzisha muunganisho; ombi lina muda wake. Weka yote mawili wazi kwa sababu ombi linaweza kutumia tena muunganisho uliopo. Hitilafu ya mtandao, uthibitishaji au handaki inaweza kutokea kabla ya jibu lolote la lengwa, lakini hali ya hitilafu iliyorudishwa si lazima itoe exception.

Tumia tena mteja kwa maombi yenye sera moja ya uelekezaji ili programu inufaike na usimamizi wake wa miunganisho.

Makala zinazohusiana