PySocks дем алып келген ftplib дарегин өзгөртпөйт
set_default_proxy Python'дун жергиликтүү socket ишке ашырылышын өзгөртөт деп болжолдоонун ордуна ftplib чынында түзгөн socket'терди көзөмөлдөңүз.
socks.set_default_proxy() келечектеги PySocks socksocket объектилери үчүн дем алып келген маанилерди сактайт. Ал Python'дун жергиликтүү socket классын алмаштырбайт. Ошондуктан чакыруу FTP туташуусунун алдында болгону үчүн гана ftplib дарегин өзгөртпөйт.
Прокси URL'ин кармаган өзгөрмөнү эмес, конструкторлорду көзөмөлдөңүз. ftplib башкаруу туташуусун жана кошумча өткөрүү туташууларын түзөт. Пассивдүү FTP'де ийгиликтүү кирүү башкаруу туташуусу иштегенин гана далилдейт; тизме же файл өткөрүү үчүн колдонулган дайындар socket'и да көздөлгөн маршрутка муктаж.
socket.socket нун ордун баскан же модулду ороп турган рецепт PySocks дем алып келген маанилерин коюудан тышкары башка аракетти аткарат. Ал ошол модулду бөлүшкөн башка китепканаларга таасир этиши мүмкүн. Кийин түпнусканы убактылуу калыбына келтирүү параллель туташууларды өзгөртүүдөн обочолонтпойт.
Ыңгайлаштырылган ftplib ички классы туташуу жолдорун жаба алат, бирок көчүрүлгөн ички бөлүктөр өздөрү келген Python чыгарылышынын божомолдорун алып жүрөт, анын ичинде тайм-аут сентинелдери жана протоколду иштетүү. Стандарттык китепкананын жаңыртуулары көчүрмөнү жаңыртпайт.
Талап кылынган прокси жана FTP режими үчүн тейленүүчү кардарды же колдоого алынган интеграцияны тандаңыз. PycURL менен пассивдүү FTP жүктөөнүн мисалы өзүнчө кардар жолун көрсөтөт. Колдонмого таандык ыңгайлаштыруу үчүн кайсы конструктор ар бир башкаруу жана дайындар socket'ин ачаарын аныктап, ал алмаштырган жогорку деңгээлдеги жүрүм-турумду сактаңыз. Туура прокси мааниси ошол конструкторлор аны чынында колдонгондо гана пайдалуу.