د PySocks ډیفالټ ftplib ته بیا لار نه ورکوي
هغه socketونه تعقیب کړئ چې ftplib واقعیا جوړوي، پرځای د دې چې فرض کړئ set_default_proxy د Python اصلي socket پلي کول بدلوي.
socks.set_default_proxy() د راتلونکو PySocks socksocket شیانو لپاره ډیفالټ ارزښتونه ساتي. دا د Python اصلي socket ټولګی نه بدلوي. له همدې امله یوازې د دې لپاره چې غوښتنه د FTP نښلونې دمخه کیږي، ftplib ته بیا لار نه ورکوي.
د proxy URL ساتلو متغیر نه، بلکې constructors تعقیب کړئ. ftplib یوه کنټرول نښلونه او اضافي انتقالي نښلونې جوړوي. په passive FTP کې بریالۍ ننوتل یوازې دا ثابتوي چې کنټرول نښلونه کار کړی؛ د لیست یا فایل انتقال لپاره کارول شوی data socket هم باید ټاکل شوې لار ونیسي.
هغه ترکیب چې socket.socket بدلوي یا یو module پوښوي، د PySocks ډیفالټ ټاکلو څخه بل کار کوي. دا کولی شي نورو کتابتونونو ته چې هماغه module شریکوي اغیزه وکړي. وروسته اصلي بیرته راګرځول هممهاله نښلونې له دې بدلون څخه جلا نه کوي.
د ftplib ځانګړې فرعي ټولګه کولی شي د نښلونې لارې پوښي، خو کاپي شوي داخلي برخې د هغه Python نسخې فرضیې له ځان سره لري چې ورځې راوتي دي، په شمول د timeout sentinel او د protocol سمبالښت. د معیاري کتابتون تازه کول کاپي نه تازه کوي.
د اړین proxy او FTP حالت لپاره ساتل شوی client یا ملاتړ شوی integration وټاکئ. د PycURL سره د passive FTP ډاونلوډ بېلګه جلا client لار ښیي. د اپلیکیشن مالکیت لرونکي تنظیم لپاره وټاکئ کوم constructor هر کنټرول او data socket خلاصوي او هغه upstream چلند وساتئ چې دا یې ځای نیسي. سم proxy ارزښت یوازې هغه وخت ګټور دی چې هغه constructors واقعیا یې کاروي.