በCONNECT ጊዜ ለሚቆም Apache HttpClient 5 ፕሮክሲ ጊዜ ገደብ ያዘጋጁ
ለቱነል ዝግጅት የግንኙነት አስተዳዳሪውን የሶኬት 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 ፕሮክሲ ዝርዝር አንድ እጩ የመጨረሻ ነጥቡን ያቀርባል፤ ጊዜ ገደቦችን ሲያወዳድሩ መዳረሻውን ቋሚ ያድርጉ።
| ገደብ | የሚስተናገደው ጥበቃ |
|---|---|
| የግንኙነት ጊዜ ገደብ | የግንኙነት ማቋቋም |
| የሶኬት ጊዜ ገደብ | ነባሪ I/O እንቅስቃሴ-አለመኖር፣ የCONNECT ልውውጥን ጨምሮ |
| የገንዳ ማግኛ / የመተግበሪያ ምላሽ | ሌሎች ለየብቻ የተዋቀሩ ደረጃዎች |
ከCONNECT በኋላ TLS በHttpClient 5 የTLS ውቅር አማካኝነት የራሱን የዝግጅት ገደብ ሊፈልግ ይችላል። እንዲሁም እንቅስቃሴ-አለመኖርን ከአጠቃላይ የጊዜ ገደብ ይለዩ፦ የተቋረጠ ባይት ወይም ተደጋጋሚ የማረጋገጫ ልውውጦች አጠቃላይ ጊዜውን ሊያራዝሙ ይችላሉ። የመተግበሪያው የሚደገፍ የጊዜ ገደብ ወይም የስረዛ መመሪያ ለ አንድ አጠቃላይ የአሰራር በጀት.