Proxyen godtok TCP, men fullførte aldri CONNECT-svaret. Nettstedets svar har ikke begynt ennå; et tidsavbrudd som bare retter seg mot det senere svaret, kan la dette oppsettet vente ubegrenset.

For Apache HttpClient 5.3.1 angir du tilkoblingsbehandlingens standardverdier:

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-klassene under org.apache.hc, med Timeout i hjelpepakken core5. Behold klienten for arbeidet og lukk den. For en isolert offentlig HTTP-test leverer en kandidat fra HTTP-proxylisten endepunktet; hold destinasjonen fast når du sammenligner tidsavbrudd.

GrenseAdressert ventetid
TilkoblingstidsavbruddEtablering av tilkobling
Socket-tidsavbruddStandard I/O-inaktivitet, inkludert CONNECT-utvekslingen
Henting fra basseng / applikasjonssvarAndre separat konfigurerte trinn

Etter CONNECT kan TLS trenge sin egen oppsettgrense via HttpClient 5s TLS-konfigurasjon. Skill også inaktivitet fra en samlet frist: avbrutte byte eller gjentatte autentiseringsutvekslinger kan forlenge den totale tiden. Bruk applikasjonens støttede frist- eller avbrytelsespolicy for ett budsjett for hele operasjonen.

Relaterte artikler