Faire du FTP à travers un proxy en python

Aujourd’hui, on transfère des fichiers par un protocole bien nommé! J’ai voulu utiliser la bibliothèque python ftplib pour joindre un serveur externe à mon travail, et voici comment j’ai fait.

Nous avons un serveur mandataire pour le protocole FTP au sein de notre entreprise, disons qu’il s’appelle ftp-proxy et qu’il utilise le port 2100.

La séquence à suivre pour se connecter au serveur externe n’est pas très intuitive, mais fonctionne finalement.

Attention, il faut penser à bien indiquer le numéro de port au moment de passer le nom du serveur externe, même quand il s’agit du port par défaut (21)

import ftplib
ftp = ftplib.FTP()
ftp.connect('ftp-proxy',2100)
ftp.login('mon_user@ftp-externe.domaine.com:21','motdepasse')

La magie, c’est de passer l’identifiant complet (nom@serveur) en tant que login pour le serveur mandataire.

Cependant il est possible, mais je n’en suis pas sûr, que certains types de proxy ftp n’acceptent pas ce genre de transaction. Qui pourrait confirmer ou infirmer?

Vous aimerez aussi...

Laisser un commentaire