socks.set_default_proxy() ukladá predvolené hodnoty pre budúce objekty PySocks socksocket. Nenahrádza natívnu triedu socket v Pythone. Preto nepresmeruje ftplib len preto, že volanie prebehne pred pripojením FTP.

Sledujte konštruktory, nie premennú, ktorá uchováva URL proxy. ftplib vytvára riadiace pripojenie a ďalšie prenosové pripojenia. Pri pasívnom FTP úspešné prihlásenie dokazuje len to, že riadiace pripojenie fungovalo; dátový socket použitý na výpis alebo prenos súboru tiež potrebuje zamýšľanú trasu.

Postup, ktorý nahradí socket.socket alebo obalí modul, robí niečo iné než nastavenie predvolených hodnôt PySocks. Môže ovplyvniť iné knižnice, ktoré ten modul zdieľajú. Neskoršie obnovenie originálu neurobí súbežné pripojenia izolované od tejto zmeny.

Vlastná podtrieda ftplib môže pokryť cesty pripojenia, ale skopírované vnútornosti nesú predpoklady verzie Pythonu, z ktorej pochádzajú, vrátane sentinelov časového limitu a spracovania protokolu. Aktualizácie štandardnej knižnice kopiu neaktualizujú.

Zvoľte udržiavaného klienta alebo podporovanú integráciu pre požadovanú proxy a režim FTP. Príklad pasívneho sťahovania FTP pomocou PycURL ukazuje samostatnú cestu klienta. Pri prispôsobení, ktoré patrí aplikácii, určte, ktorý konštruktor otvára každý riadiaci a dátový socket, a zachovajte správanie, ktoré nahradzuje. Správna hodnota proxy je užitočná len vtedy, keď ju tieto konštruktory skutočne použijú.

Súvisiace články