एक सूची बॉक्स सौ प्रॉक्सी दिखा सकता है, जबकि TIdHTTP वही एक उपयोग करता रहता है। कोई पंक्ति चुनने से इंटरफ़ेस बदलता है; अगला अनुरोध मार्ग तभी बदलता है जब चुना गया एंडपॉइंट HTTP क्लाइंट के कॉन्फ़िगरेशन तक पहुँचता है।

सार्वजनिक HTTP डाउनलोड के लिए, HTTP प्रॉक्सी सूची की प्रविष्टियाँ उम्मीदवार एंडपॉइंट दे सकती हैं। हर दिखाई गई प्रविष्टि के पीछे एक होस्ट और एक पूर्णांक पोर्ट रखें। चयन स्वीकार होने पर, डाउनलोड शुरू करने से पहले दोनों लागू करें:

IdHTTP1.ProxyParams.ProxyServer := ChosenHost;
IdHTTP1.ProxyParams.ProxyPort := ChosenPort;
Page := IdHTTP1.Get(TargetURL);

यह अंश निष्क्रिय क्लाइंट, मान्य एंडपॉइंट और ऐप्लिकेशन के मौजूदा वेरिएबल मानता है। लक्ष्य URL वेबसाइट ही रहता है। प्रॉक्सी होस्ट फ़ील्ड होस्ट लेता है, वेबसाइट का URL या प्रदर्शन लेबल नहीं।

चयन के तीन संभावित परिणाम चाहिए

  • मान्य प्रॉक्सी चयन एक होस्ट और 1 से 65535 तक का पोर्ट देता है।
  • स्पष्ट Direct विकल्प अगले अनुरोध के लिए प्रॉक्सी होस्ट साफ़ कर देता है।
  • अमान्य या अनुपस्थित चयन मौजूदा कॉन्फ़िगरेशन को अछूता छोड़ता है और उपयोगकर्ता से उसे ठीक करने को कहता है।

इन परिणामों को अलग रखने से कोई अनचुनी पंक्ति अचानक अगला अनुरोध सीधे नहीं भेज पाती। नया चयन अधूरा होने तक अनुरोध बटन अक्षम रखें।

अगर एंडपॉइंट टेक्स्ट के रूप में आते हैं, तो दोनों में से कोई भी प्रॉपर्टी बदलने से पहले उन्हें पार्स और मान्य करें। TryStrToInt इंटरफ़ेस को बिना पकड़े गए रूपांतरण अपवाद के खराब पोर्ट की सूचना देने देता है। पहले कोलन पर विभाजन केवल जानबूझकर सीमित होस्टनाम-या-IPv4 प्रारूप के लिए उपयुक्त है: IPv6 लिटरल के अपने कोलन होते हैं। अलग होस्ट फ़ील्ड और पोर्ट फ़ील्ड संग्रहीत निरूपण को सरल बनाते हैं।

UI क्लिक को ऐसा क्लाइंट बदलने न दें जिसे कोई वर्कर पहले से उपयोग कर रहा है। चयन को संचालनों के बीच लागू करें, या हर समवर्ती संचालन को उसका अपना कॉन्फ़िगर किया हुआ क्लाइंट दें। चयनकर्ता भविष्य के कनेक्शन नियंत्रित करता है; यह स्थापित स्थानांतरण को किसी अन्य निकास पर नहीं ले जा सकता।

संबंधित लेख