socks.set_default_proxy() lagrar standardverdiar for framtidige PySocks-socksocket-objekt. Det erstattar ikkje den innebygde socket-klassen i Python. Difor omdirigerer det ikkje ftplib berre fordi kallet skjer før ei FTP-tilkopling.

Følg konstruktørane, ikkje variabelen som held proxy-URL-en. ftplib lagar ei styringstilkopling og fleire overføringstilkoplingar. Med passiv FTP beviser ei vellukka innlogging berre at styringstilkoplinga virka; datasocketen som vert brukt til ei listing eller filoverføring treng òg den tiltenkte ruta.

Ein oppskrift som erstattar socket.socket eller pakkar inn ein modul, gjer noko anna enn å setje PySocks-standardverdiar. Det kan påverke andre bibliotek som deler den modulen. Å gjenopprette originalen etterpå gjer ikkje samtidige tilkoplingar isolerte frå endringa.

Ein eigen ftplib-underklasse kan dekkje tilkoplingsvegane, men kopierte indre delar ber føresetnadene frå Python-versjonen dei kom frå, mellom anna timeout-sentinelar og protokollhandsaming. Oppdateringar av standardbiblioteket oppdaterer ikkje kopien.

Vel ein vedlikehalden klient eller ein støtta integrasjon for proxyen og FTP-modusen du treng. Eit døme på passiv FTP-nedlasting med PycURL syner ein eigen klientveg. For tilpassing som applikasjonen eig, finn ut kva konstruktør som opnar kvar styrings- og datasocket, og hald på åtferda han erstattar. Ein rett proxyverdi er berre nyttig når desse konstruktørane faktisk brukar han.

Relaterte artiklar