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 پراکسی فہرست سے ایک امیدوار اینڈ پوائنٹ فراہم کرتا ہے؛ ٹائم آؤٹ کا موازنہ کرتے وقت منزل کو مستقل رکھیں۔
| حد | حل شدہ انتظار |
|---|---|
| کنیکٹ ٹائم آؤٹ | کنکشن کا قیام |
| ساکٹ ٹائم آؤٹ | CONNECT تبادلے سمیت ڈیفالٹ I/O غیر فعالیت |
| پول سے حصول / درخواست کا جواب | دیگر الگ ترتیب شدہ مراحل |
CONNECT کے بعد، TLS کو HttpClient 5 کی TLS کنفیگریشن کے ذریعے اپنی سیٹ اپ حد درکار ہو سکتی ہے۔ نیز غیر فعالیت اور مجموعی مہلت میں فرق کریں: وقفے وقفے سے آنے والے بائٹس یا بار بار تصدیق کے تبادلے کل وقت کو بڑھا سکتے ہیں۔ درخواست کی معاون مہلت یا منسوخی پالیسی استعمال کریں پوری کارروائی کے لیے ایک بجٹ.