Defaŭlto de PySocks ne religas ftplib
Spuru la soketojn, kiujn ftplib efektive kreas, anstataŭ supozi, ke set_default_proxy ŝanĝas la denaskan soketan efektivigon de Python.
socks.set_default_proxy() konservas defaŭltojn por estontaj PySocks-objektoj socksocket. Ĝi ne anstataŭigas la denaskan soketan klason de Python. Sekve, ĝi ne religas ftplib nur ĉar la voko okazas antaŭ FTP-konekto.
Spuru la konstruilojn, ne la variablon, kiu tenas la prokurilan URL-on. ftplib kreas regadan konekton kaj pliajn transigajn konektojn. Ĉe pasiva FTP, sukcesa ensaluto pruvas nur, ke la regada konekto funkciis; la datum-soketo uzata por listigo aŭ dosier-transigo ankaŭ bezonas la celitan itineron.
Recepto, kiu anstataŭigas socket.socket aŭ volvas modulon, faras alian agon ol agordi la defaŭltojn de PySocks. Ĝi povas efiki aliajn bibliotekojn, kiuj kunhavas tiun modulon. Provizora restarigo de la originalo poste ne izolas samtempajn konektojn de la ŝanĝo.
Propra subklaso de ftplib povas kovri la konektajn vojojn, sed kopiitaj internaj partoj portas la supozojn de la Python-eldono, de kiu ili venas, inkluzive de tempolimaj sentineloj kaj protokola traktado. Ĝisdatigoj de la norma biblioteko ne ĝisdatigas la kopion.
Elektu prizorgatan klienton aŭ subtenatan integriĝon por la postulata prokurilo kaj FTP-reĝimo. Ekzemplo de pasiva FTP-elŝuto per PycURL montras apartan klientan vojon. Por aplikposedata adapto, identigu, kiu konstruilo malfermas ĉiun regadan kaj datuman soketon, kaj konservu la supran konduton, kiun ĝi anstataŭigas. Ĝusta prokurila valoro utilas nur kiam tiuj konstruiloj efektive uzas ĝin.