socks.set_default_proxy() lagrer standardverdier for fremtidige PySocks socksocket-objekter. Det erstatter ikke Pythons innebygde socket-klasse. Derfor omdirigerer det ikke ftplib bare fordi kallet skjer før en FTP-tilkobling.

Følg konstruktørene, ikke variabelen som holder proxy-URL-en. ftplib oppretter en kontrolltilkobling og flere overføringstilkoblinger. Med passiv FTP beviser en vellykket innlogging bare at kontrolltilkoblingen virket; data-socketen som brukes til en listing eller filoverføring trenger også den tiltenkte ruten.

En oppskrift som erstatter socket.socket eller pakker inn en modul, gjør noe annet enn å sette PySocks-standardverdier. Den kan påvirke andre biblioteker som deler den modulen. Å gjenopprette originalen etterpå gjør ikke samtidige tilkoblinger isolert fra endringen.

En egendefinert ftplib-underklasse kan dekke tilkoblingsveiene, men kopierte interne deler bærer forutsetningene fra Python-versjonen de kom fra, inkludert timeout-sentinel og protokollhåndtering. Oppdateringer av standardbiblioteket oppdaterer ikke kopien.

Velg en vedlikeholdt klient eller en støttet integrasjon for proxyen og FTP-modusen du trenger. Et eksempel på passiv FTP-nedlasting med PycURL viser en egen klientvei. For en tilpasning som applikasjonen eier, finn ut hvilken konstruktør som åpner hver kontroll- og data-socket, og behold oppførselen den erstatter. En riktig proxy-verdi er bare nyttig når disse konstruktørene faktisk bruker den.

Relaterte artikler