Die proxy het TCP aanvaar maar nooit die CONNECT-antwoord voltooi nie. Die webwerf se antwoord het nog nie begin nie; 'n tydsbeperking wat net op daardie latere antwoord gemik is, kan hierdie opstelling onbeperk laat wag.

Vir Apache HttpClient 5.3.1 stel die verbindingsbestuurder se verstekwaardes:

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

Gebruik die Apache HttpComponents 5-klasse onder org.apache.hc, met Timeout in die core5-nutspakket. Hou die kliënt vir sy werk en sluit dit. Vir 'n geïsoleerde openbare HTTP-toets lewer 'n kandidaat uit die HTTP-proxylys die eindpunt; hou die bestemming konstant wanneer jy tydsbeperkings vergelyk.

PerkWagte wat aangespreek word
VerbindingstydsbeperkingVerbinding tot stand bring
Socket-tydsbeperkingVerstek I/O-onaktiwiteit, insluitend die CONNECT-uitruiling
Poelverkryging / toepassingsantwoordAnder afsonderlik gekonfigureerde fases

Na CONNECT kan TLS sy eie opstellingsperk nodig hê deur HttpClient 5 se TLS-konfigurasie. Onderskei ook onaktiwiteit van 'n totale spertyd: onderbroke grepe of herhaalde verifikasie-uitruilings kan die totale tyd verleng. Gebruik die toepassing se ondersteunde spertyd- of kansellasiebeleid vir een begroting vir die hele bewerking.

Verwante artikels