socks.set_default_proxy() مستقبل کے PySocks socksocket اشیاء کے لیے طے شدہ قدریں محفوظ کرتا ہے۔ یہ ازگر کی مقامی socket کلاس کی جگہ نہیں لیتا۔ اسی لیے یہ صرف اس وجہ سے ftplib کا راستہ نہیں بدلتا کہ کال FTP کنکشن سے پہلے ہوئی۔

پراکسی URL رکھنے والے متغیر کی نہیں، constructors کی پیروی کریں۔ ftplib ایک کنٹرول کنکشن اور اضافی منتقلی کنکشن بناتا ہے۔ passive FTP میں کامیاب لاگ اِن صرف یہ ثابت کرتا ہے کہ کنٹرول کنکشن کام کر رہا تھا؛ فہرست یا فائل منتقلی کے لیے استعمال ہونے والا data socket بھی مطلوبہ راستہ چاہتا ہے۔

socket.socket کی جگہ لینے والا یا module کو لپیٹنے والا نسخہ PySocks کی طے شدہ قدریں مقرر کرنے کے علاوہ کچھ اور کرتا ہے۔ یہ اسی module کو استعمال کرنے والی دیگر لائبریریوں کو متاثر کر سکتا ہے۔ بعد میں اصل کو بحال کرنا بیک وقت ہونے والے کنکشنز کو اس تبدیلی سے الگ نہیں کرتا۔

اپنی مرضی کی ftplib ذیلی کلاس کنکشن راستوں کا احاطہ کر سکتی ہے، مگر نقل کی گئی اندرونی چیزیں اُس ازگر ورژن کے مفروضات ساتھ لاتی ہیں جہاں سے وہ آئی ہیں، بشمول timeout sentinel اور protocol کی سنبھال۔ معیاری لائبریری کی تازہ کاریاں اُس نقل کو تازہ نہیں کرتیں۔

مطلوبہ پراکسی اور FTP موڈ کے لیے دیکھ بھال والا client یا معاون integration منتخب کریں۔ PycURL کے ساتھ passive FTP ڈاؤن لوڈ کی مثال ایک الگ client راستہ دکھاتی ہے۔ ایپلیکیشن کی ملکیت والی تخصیص کے لیے پہچانیں کہ کون سا constructor ہر کنٹرول اور data socket کھولتا ہے اور وہ upstream رویہ محفوظ رکھیں جس کی یہ جگہ لیتی ہے۔ درست پراکسی قدر صرف اُس وقت کارآمد ہے جب وہ constructors واقعی اُسے استعمال کریں۔

متعلقہ مضامین