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 тохиргоогоор өөрийн тохиргооны хязгаар шаардаж болно. Мөн идэвхгүй байдлыг нийт хугацаанаас ялгаарай: тасалдсан байт эсвэл давтагдсан баталгаажуулалтын солилцоо нийт хугацааг уртасгаж болно. Аппликейшны дэмжигддэг хугацаа эсвэл цуцлалтын бодлогыг ашиглана уу бүх үйл ажиллагаанд нэг төсөв.