De proxy akseptearre TCP, mar makke nea it CONNECT-antwurd dien. It antwurd fan 'e webside is noch net begûn; in time-out dy't allinnich op dat lettere antwurd rjochte is, kin dizze opset ûnbeheind wachtsje litte.

Foar Apache HttpClient 5.3.1 stelst de standertwearden fan 'e ferbiningsbehearder yn:

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

Brûk de Apache HttpComponents 5-klassen ûnder org.apache.hc, mei Timeout yn it helpmiddelpakket core5. Hâld de kliïnt foar syn wurk en slút him. Foar in isolearre iepenbiere HTTP-test leveret in kandidaat út 'e HTTP-proxylist it einpunt; hâld de bestimming stevich by it fergelykjen fan time-outs.

GrinsBehandele wachttiid
Ferbinings-time-outFerbiningsopbou
Socket-time-outStandert I/O-ynaktiviteit, ynklusyf de CONNECT-útwikseling
Oanfreegje út 'e poel / applikaasje-antwurdOare apart konfigurearre fazen

Nei CONNECT kin TLS syn eigen opsetgrins nedich hawwe fia de TLS-konfiguraasje fan HttpClient 5. Underskied ek ynaktiviteit fan in totale deadline: ûnderbrutsen bytes of werhelle autentikaasje-útwikselings kinne de totale tiid ferlingje. Brûk it stipe deadline- of annulearringsbelied fan 'e applikaasje foar ien budzjet foar de hiele operaasje.

Relatearre artikelen