是否有与FTP服务器交互的高级Ruby库?
而不是Net :: HTTP我可以使用HTTParty,Curb,Rest Client或Typhoeus,这使一切变得更容易,但我找不到任何类似的解决方案来替换/增强Net :: FTP。
更具体地说,我正在寻找:
答案 0 :(得分:6)
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
答案 1 :(得分:4)
你试过EventMachine吗? https://github.com/schleyfox/em-ftp-client