socks.set_default_proxy() alapértékeket tárol a jövőbeli PySocks socksocket objektumokhoz. Nem cseréli le a Python natív socket osztályát. Ezért nem irányítja át az ftplibet csupán azért, mert a hívás FTP-kapcsolat előtt történik.

A konstruktorokat kövesse, ne a proxy URL-jét tartó változót. Az ftplib egy vezérlőkapcsolatot és további átviteli kapcsolatokat hoz létre. Passzív FTP esetén a sikeres bejelentkezés csak azt bizonyítja, hogy a vezérlőkapcsolat működött; a listázáshoz vagy fájlátvitelhez használt adat-socketnek is szüksége van a szánt útvonalra.

Egy olyan recept, amely lecseréli a socket.socket-t vagy becsomagol egy modult, a PySocks alapértékeinek beállításán túl más műveletet végez. Hathat más, ugyanazt a modult használó könyvtárakra. Az eredeti utólagos ideiglenes visszaállítása nem különíti el az egyidejű kapcsolatokat a módosítástól.

Egy egyedi ftplib-alklasz lefedheti a kapcsolati útvonalakat, de a másolt belső részek magukkal hordozzák annak a Python-kiadásnak a feltételezéseit, amelyből származnak, beleértve az időtúllépés-őrszemeket és a protokollkezelést. A szabványos könyvtár frissítései nem frissítik a másolatot.

Válasszon karbantartott klienst vagy támogatott integrációt a szükséges proxyhoz és FTP-módhoz. Egy PycURL-es passzív FTP-letöltési példa külön kliensútvonalat mutat. Az alkalmazás saját testreszabásához állapítsa meg, melyik konstruktor nyitja az egyes vezérlő- és adat-socketeket, és őrizze meg a felülírt felsőbb szintű viselkedést. A helyes proxyérték csak akkor hasznos, ha ezek a konstruktorok valóban felhasználják.

Kapcsolódó cikkek