Is there an easy-to-use FTP library for Ruby?

后端 未结 2 1528
悲哀的现实
悲哀的现实 2021-02-10 02:04

Is there a high-level Ruby library to interact with an FTP server?

Instead of Net::HTTP I can use HTTParty, Curb, Rest Client, or Typhoeus, which makes everything easier

相关标签:
2条回答
  • 2021-02-10 02:39

    Ruby's built-in Open-URI will handle FTP.

    From Open-URI's docs:

    OpenURI is an easy-to-use wrapper for net/http, net/https and net/ftp.

    This will seem to hang while it retrieves the Ruby source, but should return after a minute or two.

    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
    

    Or, Net::FTP is easy to use with a lot more functionality:

    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
    
    0 讨论(0)
  • 2021-02-10 02:52

    Have you tried EventMachine? https://github.com/schleyfox/em-ftp-client

    0 讨论(0)
提交回复
热议问题