CONNECT кезінде тоқтап қалатын Apache HttpClient 5 проксиіне уақыт шектеуі
Туннель орнату үшін қосылым менеджерінің socket I/O уақыт шектеуін жеке TCP қосылым шектеуімен қатар орнатыңыз.
Прокси 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 шектеуі | CONNECT алмасуын қоса әдепкі I/O әрекетсіздігі |
| Пулдан алу / қолданба жауабы | Бөлек конфигурацияланған басқа кезеңдер |
CONNECT-тен кейін TLS өзінің орнату шегін HttpClient 5-тің TLS конфигурациясы арқылы қажет етуі мүмкін. Сондай-ақ әрекетсіздікті жалпы мерзімнен ажыратыңыз: үзілісті байттар немесе қайталанатын аутентификация алмасулары жалпы уақытты ұзартуы мүмкін. Қолданбаның қолдайтын мерзім немесе болдырмау саясатын пайдаланыңыз бүкіл операцияға бір бюджет.