Прокси је прихватио 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. Такође разликујте неактивност од укупног рока: прекинути бајтови или поновљене размене провере могу продужити укупно време. Користите подржану политику рока или отказивања апликације за један буџет за целу операцију.

Повезани чланци