Պրոքսին ընդունեց 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-ը կարող է իր սեփական կարգավորման սահմանը պահանջել HttpClient 5-ի TLS կարգավորումների միջոցով։ Տարբերակեք նաև անգործությունը ընդհանուր վերջնաժամկետից. ընդհատվող բայթերը կամ կրկնվող նույնականացման փոխանակումները կարող են երկարացնել ընդհանուր ժամանակը։ Օգտագործեք հավելվածի աջակցվող վերջնաժամկետի կամ չեղարկման քաղաքականությունը մեկ բյուջե ամբողջ գործողության համար.

Առնչվող հոդվածներ