FTP लॉगिन एक कंट्रोल कनेक्शन का उपयोग करता है। इसके बाद डिरेक्टरी लिस्टिंग या डाउनलोड के लिए डेटा कनेक्शन चाहिए, जो SOCKS से लॉगिन सफल होने पर भी विफल हो सकता है।

पहले पैसिव या एक्टिव मोड पहचानें। पैसिव मोड में क्लाइंट FTP सर्वर द्वारा दिए गए पते और पोर्ट पर नया कनेक्शन खोलता है। उस कनेक्शन को भी इच्छित प्रॉक्सी मार्ग चाहिए।

Ruby सॉकेट एकीकरण

Ruby का Net::FTP API अपने कनेक्शन और पैसिव-मोड व्यवहार का दस्तावेज़ीकरण करता है। SOCKS एकीकरण को उस सॉकेट निर्माण को कवर करना चाहिए जिसका उपयोग कंट्रोल और डेटा दोनों मार्ग करते हैं; कहीं और HTTP क्लाइंट की प्रॉक्सी सेटिंग उन्हें कॉन्फ़िगर नहीं करती।

अगर एकीकरण सॉकेट व्यवहार को वैश्विक रूप से बदलता है, तो उसका समवर्ती दायरा जाँचें। एक ट्रांसफ़र के चारों ओर का ब्लॉक अन्य थ्रेड को साझा स्थिति के बदलावों से अलग नहीं कर सकता।

प्रदाता स्थिर एंडपॉइंट दे सकता है, पर वह सेवा विशेषता है, SOCKS की सामान्य आवश्यकता नहीं। जहाँ अलग कनेक्शन अलग एग्ज़िट इस्तेमाल कर सकते हैं, वहाँ देखें कि FTP सर्वर अपने डेटा कनेक्शन को प्रमाणित कंट्रोल कनेक्शन से कैसे जोड़ता है।

पहुँचा गया चरण, मोड और डेटा एंडपॉइंट दर्ज करें, क्रेडेंशियल हटाकर। इससे अवरुद्ध डेटा मार्ग और प्रॉक्सी लॉगिन विफलता में अंतर होता है।

संबंधित लेख