Проксито прими TCP, но никогаш не го заврши одговорот CONNECT. Одговорот на веб-страницата сè уште не е започнат; временско ограничување насочено само кон тој подоцнежен одговор може да го остави ова поставување да чека неограничено.

За Apache HttpClient 5.3.1, поставете ги стандардните вредности на менаџерот за врски:

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

Користете ги класите на Apache HttpComponents 5 под org.apache.hc, со Timeout во помошниот пакет core5. Задржете го клиентот за неговата работа и затворете го. За изолиран јавен HTTP тест, кандидат од списокот со HTTP прокси обезбедува крајна точка; држете ја дестинацијата стабилна кога споредувате временски ограничувања.

ОграничувањеАдресирано чекање
Ограничување за поврзувањеВоспоставување врска
Socket ограничувањеСтандардна I/O неактивност, вклучувајќи ја размената CONNECT
Земање од базенот / одговор на апликацијатаДруги одделно конфигурирани фази

По CONNECT, TLS може да бара сопствена граница за поставување преку TLS конфигурацијата на HttpClient 5. Исто така, разликувајте неактивност од вкупен рок: прекинати бајти или повторени размени за автентикација можат да го продолжат вкупното време. Користете ја поддржаната политика за рок или откажување на апликацијата за еден буџет за целата операција.

Поврзани статии