socks.set_default_proxy() menyimpan nilai bawaan untuk objek PySocks socksocket di masa mendatang. Ia tidak menggantikan kelas socket asli Python. Karena itu, ia tidak mengalihkan ftplib hanya karena pemanggilan terjadi sebelum koneksi FTP.

Lacak konstruktornya, bukan variabel yang menyimpan URL proxy. ftplib membuat koneksi kontrol dan koneksi transfer tambahan. Pada FTP pasif, login yang berhasil hanya membuktikan bahwa koneksi kontrol berfungsi; socket data yang dipakai untuk daftar atau transfer berkas juga memerlukan rute yang dimaksud.

Resep yang menggantikan socket.socket atau membungkus modul melakukan tindakan lain di luar penetapan nilai bawaan PySocks. Itu dapat memengaruhi pustaka lain yang berbagi modul tersebut. Memulihkan versi aslinya untuk sementara setelahnya tidak membuat koneksi bersamaan terisolasi dari perubahan itu.

Subkelas ftplib khusus dapat mencakup jalur koneksi, tetapi bagian dalam yang disalin membawa asumsi dari rilis Python asalnya, termasuk penanda batas waktu dan penanganan protokol. Pembaruan pustaka standar tidak memperbarui salinan itu.

Pilih klien yang terpelihara atau integrasi yang didukung untuk proxy dan mode FTP yang diperlukan. Contoh unduhan FTP pasif dengan PycURL menunjukkan jalur klien yang terpisah. Untuk penyesuaian milik aplikasi, kenali konstruktor mana yang membuka setiap socket kontrol dan data serta pertahankan perilaku hulu yang digantikannya. Nilai proxy yang benar hanya berguna bila konstruktor tersebut benar-benar memakainya.

Artikel terkait