Proxy je prihvatio TCP ali nikada nije dovršio CONNECT odgovor. Odgovor web stranice još nije počeo; vremensko ograničenje usmjereno samo na taj kasniji odgovor može ostaviti ovo postavljanje da čeka neograničeno.

Za Apache HttpClient 5.3.1 postavite zadane vrijednosti upravitelja veza:

var connection = ConnectionConfig.custom()
    .setConnectTimeout(Timeout.ofSeconds(5))
    .setSocketTimeout(Timeout.ofSeconds(10))
    .build();

var manager = PoolingHttpClientConnectionManagerBuilder.create()
    .setDefaultConnectionConfig(connection)
    .build();

var client = HttpClients.custom()
    .setConnectionManager(manager)
    .setProxy(new HttpHost("http", "proxy.example", 8080))
    .build();

Koristite klase Apache HttpComponents 5 pod org.apache.hc, uz Timeout u pomoćnom paketu core5. Zadržite klijenta za njegov posao i zatvorite ga. Za izolirani javni HTTP test, kandidat iz liste HTTP proxyja pruža krajnju točku; držite odredište stalnim kada upoređujete ograničenja.

OgraničenjeAdresirano čekanje
Ograničenje povezivanjaUspostavljanje veze
Socket ograničenjeZadana I/O neaktivnost, uključujući CONNECT razmjenu
Preuzimanje iz pula / odgovor aplikacijeOstale odvojeno konfigurirane faze

Nakon CONNECT, TLS može trebati vlastito ograničenje uspostave kroz TLS konfiguraciju HttpClient 5. Također razlikujte neaktivnost od ukupnog roka: isprekidani bajtovi ili ponovljene razmjene provjere mogu produljiti ukupno vrijeme. Koristite podržanu politiku roka ili otkazivanja aplikacije za jedan budžet za cijelu operaciju.

Povezani članci