socks.set_default_proxy() памти подразумеване вредности за PySocks socksocket објекте који ће се тек створити. Уграђену socket класу у Python-у он не мења. Дакле, не преусмерава ftplib тек зато што се позив извршава пре повезивања на FTP.

Пратите конструкторе, а не променљиву у којој стоји URL проксија. ftplib отвара контролну везу, а затим и додатне везе за пренос. Код пасивног FTP-а успешна пријава доказује само да контролна веза ради; и socket за податке који се користи за списак или пренос датотеке мора ићи предвиђеном рутом.

Поступак који замени socket.socket или обмота модул ради нешто више од постављања PySocks подразумеваних вредности. Може утицати на друге библиотеке које деле исти модул. Касније враћање оригинала не чини истовремене везе изолованим од те измене.

Прилагођена поткласа ftplib-а може да покрије путеве везе, али копирана унутрашњост носи претпоставке издања Python-а из којег је узета, укључујући сентинеле за тајмаут и руковање протоколом. Ажурирања стандардне библиотеке не ажурирају копију.

Изаберите одржаван клијент или подржану интеграцију за потребни прокси и FTP режим. Пример пасивног FTP преузимања са PycURL-ом приказује посебан пут клијента. За прилагођавање које припада апликацији утврдите који конструктор отвара сваки контролни и socket за податке и сачувајте понашање које оно замењује. Исправна вредност проксија корисна је само када ти конструктори заиста користе ту вредност.

Повезани чланци