Встроенный в Ruby Open-URI будет обрабатывать FTP.
Из документов Open-URI:
OpenURI - это простая в использовании оболочкадля net / http, net / https и net / ftp.
Это может зависнуть при получении источника Ruby, но должно вернуться через минуту или две.
require 'open-uri'
open('ftp://ftp.ruby-lang.org//pub/ruby/ruby-1.9.2-p136.tar.bz2') do |fi|
File.open('ruby-1.9.2-p136.tar.bz2', 'wb') do |fo|
fo.puts fi.read
end
end
Или Net :: FTP прост в использовании с гораздо большей функциональностью:
require 'net/ftp'
Net::FTP.open('ftp.ruby-lang.org') do |ftp|
ftp.login
ftp.chdir('/pub/ruby')
puts ftp.list('ruby-1.9.2*')
puts ftp.nlst()
ruby_file = 'ruby-1.9.2-p136.tar.bz2'
ftp.getbinaryfile(ruby_file, ruby_file, 1024)
end