socks.set_default_proxy() shrani privzete vrednosti za prihodnje objekte PySocks socksocket. Ne nadomesti izvornega razreda socket v Pythonu. Zato ne preusmeri ftplib samo zato, ker se klic zgodi pred povezavo FTP.

Sledite konstruktorjem, ne spremenljivki, ki hrani URL proxyja. ftplib ustvari krmilno povezavo in dodatne povezave za prenos. Pri pasivnem FTP uspešna prijava dokazuje le, da je krmilna povezava delovala; tudi podatkovna vtičnica, uporabljena za seznam ali prenos datoteke, potrebuje predvideno pot.

Recept, ki nadomesti socket.socket ali ovije modul, naredi nekaj drugega kot nastavitev privzetih vrednosti PySocks. Lahko vpliva na druge knjižnice, ki si delijo ta modul. Poznejša obnovitev izvirnika ne naredi sočasnih povezav ločenih od te spremembe.

Podrazred ftplib po meri lahko pokrije poti povezav, vendar kopirana notranjost prinaša predpostavke različice Pythona, iz katere izhaja, vključno s sentineli časovne omejitve in obdelavo protokola. Posodobitve standardne knjižnice kopije ne posodobijo.

Izberite vzdrževanega odjemalca ali podprto integracijo za zahtevani proxy in način FTP. Primer pasivnega prenosa FTP s PycURL prikazuje ločeno pot odjemalca. Pri prilagoditvi, ki pripada aplikaciji, ugotovite, kateri konstruktor odpre vsako krmilno in podatkovno vtičnico, in ohranite vedenje, ki ga nadomešča. Pravilna vrednost proxyja je koristna le, ko jo ti konstruktorji dejansko uporabijo.

Sorodni članki