Kohëmatës për një proxy Apache HttpClient 5 që ngec gjatë CONNECT
Vendosni kohëmatësin e socket I/O të menaxherit të lidhjeve për ngritjen e tunelit, bashkë me kohëmatësin e veçantë të lidhjes TCP.
Proxy pranoi TCP por nuk përfundoi kurrë përgjigjen CONNECT. Përgjigja e faqes nuk ka filluar ende; një kohëmatës i drejtuar vetëm nga ajo përgjigje e mëvonshme mund ta lërë këtë ngritje të presë pa kufi.
Për Apache HttpClient 5.3.1, vendosni vlerat e parazgjedhura të menaxherit të lidhjeve:
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();Përdorni klasat e Apache HttpComponents 5 nën org.apache.hc, me Timeout në paketën ndihmëse core5. Mbani klientin për punën e tij dhe mbylleni. Për një test publik HTTP të izoluar, një kandidat nga lista e përfaqësuesve HTTP siguron pikën fundore; mbani destinacionin të qëndrueshëm kur krahasoni kohëmatësit.
| Kufi | Pritja e adresuar |
|---|---|
| Kohëmatës i lidhjes | Ngritja e lidhjes |
| Kohëmatës i socket | Pasiviteti i parazgjedhur I/O, përfshirë shkëmbimin CONNECT |
| Marrja nga grupi / përgjigja e aplikacionit | Faza të tjera të konfiguruara veçmas |
Pas CONNECT, TLS mund të ketë nevojë për kufirin e vet të ngritjes përmes konfigurimit TLS të HttpClient 5. Gjithashtu dalloni pasivitetin nga një afat total: bajtët e ndërprerë ose shkëmbimet e përsëritura të vërtetimit mund të zgjasin kohën totale. Përdorni politikën e afatit ose anulimit të mbështetur nga aplikacioni për një buxhet për të gjithë operacionin.