socks.set_default_proxy() bewaart standaardwaarden voor toekomstige PySocks-socksocket-objecten. Het vervangt de ingebouwde socketklasse van Python niet. Daarom leidt het ftplib niet om alleen omdat de aanroep vóór een FTP-verbinding gebeurt.

Volg de constructors, niet de variabele die de proxy-URL bevat. ftplib maakt een besturingsverbinding en extra overdrachtsverbindingen. Bij passieve FTP bewijst een geslaagde login alleen dat de besturingsverbinding werkte; de datasocket voor een listing of bestandsoverdracht heeft ook de bedoelde route nodig.

Een recept dat socket.socket vervangt of een module omhult, doet iets anders dan PySocks-standaarden instellen. Het kan andere bibliotheken beïnvloeden die dezelfde module delen. Het origineel daarna herstellen maakt gelijktijdige verbindingen niet immuun voor de wijziging.

Een eigen ftplib-subklasse kan de verbindingspaden afdekken, maar gekopieerde interne onderdelen dragen de aannames van de Python-versie waaruit ze komen, inclusief timeoutsentinels en protocolafhandeling. Updates van de standaardbibliotheek werken de kopie niet bij.

Kies een onderhouden client of een ondersteunde integratie voor de vereiste proxy en FTP-modus. Een voorbeeld van een passieve FTP-download met PycURL toont een apart clientpad. Bepaal bij maatwerk dat de applicatie bezit welke constructor elke besturings- en datasocket opent en behoud het upstreamgedrag dat het vervangt. Een juiste proxywaarde is alleen nuttig wanneer die constructors hem daadwerkelijk gebruiken.

Gerelateerde artikelen