tuto – ruby – ftp

Pour continuer sur la lancée, voici quelques bouts de code simple pour se connecter à un ftp avec ruby et interagir avec (téléchargement de fichiers, récupération de liste de fichier par extension, …)

 

la lib à inclure :

require 'net/ftp'

 

paramètres nécessaires, connexion, login :

url = 'ftp.my_addr.biz'
username = 'login'
password = 'password'
directory = 'my_path_i_want_to_get/subdirectory/'
directory2 = 'my_path_i_want_to_get/subdirectory/another_subdirectory/files_in/'
ftp = Net::FTP.new
ftp.debug_mode = true #voir sur stdout les requêtes ftp
ftp.connect(url,21)
ftp.login(username,password)

 

récupération de la liste des fichiers .txt présents dans un repértoire choisit :

ftp.chdir(directory)
filenames = ftp.nlst('*.txt')
mon_fic = filenames.first # on récupère le premier fichier texte de la liste
ftp.getbinaryfile(mon_fic,mon_fic)
files = ftp.rename(mon_fic, "archives/" << mon_fic)

 

téléchargement d’un fichier dans un autre répertoire :

ftp.chdir(directory2)
ftp.get('the_filename_i_want.html') 
ftp.close

 

C’était un court aperçu de ce que l’on peut faire en peu de code avec ruby et la librairie net/ftp.

Vous pourrez trouver toutes les méthodes dispo pour la librairie ici =>

http://www.ruby-doc.org/stdlib-2.0/libdoc/net/ftp/rdoc/