დროის ლიმიტი 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 ლიმიტი | ნაგულისხმევი I/O უმოქმედობა, CONNECT გაცვლის ჩათვლით |
| პულიდან მიღება / აპლიკაციის პასუხი | სხვა ცალკე კონფიგურირებული ეტაპები |
CONNECT-ის შემდეგ TLS-ს შეიძლება დასჭირდეს საკუთარი დაყენების ლიმიტი HttpClient 5-ის TLS კონფიგურაციის მეშვეობით. ასევე განასხვავეთ უმოქმედობა საერთო ვადისგან: წყვეტილი ბაიტები ან განმეორებითი ავთენტიფიკაციის გაცვლები შეიძლება გაახანგრძლივოს საერთო დრო. გამოიყენეთ აპლიკაციის მხარდაჭერილი ვადის ან გაუქმების პოლიტიკა ერთი ბიუჯეტი მთელი ოპერაციისთვის.