प्रॉक्सी ने 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 कॉन्फ़िगरेशन के माध्यम से अपनी सेटअप सीमा की आवश्यकता हो सकती है। निष्क्रियता और कुल समय-सीमा के बीच भी अंतर करें: रुक-रुककर आने वाले बाइट या बार-बार प्रमाणीकरण आदान-प्रदान कुल समय बढ़ा सकते हैं। एप्लिकेशन की समर्थित समय-सीमा या रद्दीकरण नीति का उपयोग करें पूरे ऑपरेशन के लिए एक बजट.

संबंधित लेख