Proxyen tok imot TCP, men fullførte aldri CONNECT-svaret. Svaret frå nettstaden har ikkje byrja enno; eit tidsavbrot som berre rettar seg mot det seinare svaret, kan la dette oppsettet vente utan grense.

For Apache HttpClient 5.3.1 set du standardverdiane til tilkoplingshandsamaren:

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

Bruk Apache HttpComponents 5-klassane under org.apache.hc, med Timeout i hjelpepakken core5. Hald klienten for arbeidet og lukk han. For ein isolert offentleg HTTP-test leverer ein kandidat frå HTTP-proxylista endepunktet; hald destinasjonen fast når du samanliknar tidsavbrot.

GrenseAdressert venting
TilkoplingstidsavbrotEtablering av tilkopling
Socket-tidsavbrotStandard I/O-inaktivitet, inkludert CONNECT-utvekslinga
Henting frå basseng / applikasjonssvarAndre separat konfigurerte trinn

Etter CONNECT kan TLS trenge si eiga oppsettgrense via TLS-konfigurasjonen til HttpClient 5. Skil også inaktivitet frå ein samla frist: avbrotne bytar eller gjentekne autentiseringsutvekslingar kan forlenge den totale tida. Bruk den støtta frist- eller avbrytingspolicyen til applikasjonen for eitt budsjett for heile operasjonen.

Relaterte artiklar