14.8. Implementacja klienta FTP

Problem

Chcemy automatycznie połączyć się z serwerem FTP i wgrać bądź pobrać pliki.

Rozwiązanie

Można skorzystać z klasy Net::FTP, umożliwiającej korzystanie z serwerów FTP w sposób zbliżony do korzystania z systemu plików. W widocznym przykładzie zaprezentowano sposób anonimowego logowania się do popularnej witryny FTP, wyświetlenia zawartości jednego z katalogów i pobrania dwóch plików:

require 'net/ftp' ftp = Net::FTP.open('ftp.ibiblio.org') do |ftp| ftp.login ftp.chdir('pub/linux/') ftp.list('*Linux*') { |file| puts file } puts puts 'Zapisywanie pliku tekstowego na dysk.' ftp.gettextfile('How-do-I-get-Linux') { |line| puts "! #{line}" } puts "Zapisano #{File.size 'How-do-I-get-Linux'} bajtów." puts ...

Get Ruby. Receptury now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.