القيمة الافتراضية في PySocks لا تعيد توجيه ftplib
تتبّع المقابس التي ينشئها ftplib فعلاً بدلاً من افتراض أن set_default_proxy يغيّر تنفيذ socket الأصلي في Python.
socks.set_default_proxy() يخزّن قيماً افتراضية لكائنات PySocks socksocket المستقبلية. وهو لا يستبدل صنف socket الأصلي في Python. وبالتالي لا يعيد توجيه ftplib لمجرد أن الاستدعاء يحدث قبل اتصال FTP.
تتبّع البانيات لا المتغير الذي يحمل عنوان الوكيل. ينشئ ftplib اتصال تحكم واتصالات نقل إضافية. في FTP السلبي، لا يثبت تسجيل الدخول الناجح إلا أن اتصال التحكم عمل؛ فمقبس البيانات المستخدم لسرد أو لنقل ملف يحتاج أيضاً إلى المسار المقصود.
الوصفة التي تستبدل socket.socket أو تغلّف وحدة نمطية تنفّذ إجراءً آخر يتجاوز ضبط قيم PySocks الافتراضية. وقد تؤثر في مكتبات أخرى تشترك في تلك الوحدة. واستعادة الأصل مؤقتاً بعد ذلك لا تجعل الاتصالات المتزامنة معزولة عن التغيير.
يمكن لصنف فرعي مخصص من ftplib أن يغطي مسارات الاتصال، لكن الأجزاء الداخلية المنسوخة تحمل افتراضات إصدار Python الذي أتت منه، بما في ذلك علامات المهلة ومعالجة البروتوكول. وتحديثات المكتبة القياسية لا تحدّث النسخة.
اختر عميلاً مُصاناً أو تكاملاً مدعوماً للوكيل ووضع FTP المطلوبين. ويوضّح مثال تنزيل FTP سلبي بواسطة PycURL مسار عميل منفصلاً. وللتخصيص المملوك للتطبيق، حدّد أي باني يفتح كل مقبس تحكم وبيانات واحتفظ بسلوك المنبع الذي يستبدله. ولا تكون قيمة الوكيل الصحيحة مفيدة إلا عندما تستهلكها تلك البانيات فعلاً.