【问题标题】:How do I download a file over HTTP using Ruby?如何使用 Ruby 通过 HTTP 下载文件?
【发布时间】:2010-12-25 00:47:57
【问题描述】:

如何使用 Ruby 通过 HTTP 下载文件?

【问题讨论】:

    标签: ruby file download


    【解决方案1】:

    可能是下载文件的最短途径:

    require 'open-uri'
    download = open('http://example.com/download.pdf')
    IO.copy_stream(download, '~/my_file.pdf')
    

    【讨论】:

    【解决方案2】:

    你可以使用open-uri,它是一个单列

    require 'open-uri'
    
    content = open('http://example.com').read
    

    【讨论】:

      【解决方案3】:
      require 'net/http'
      #part of base library
      Net::HTTP.start("your.webhost.com") { |http|
        resp = http.get("/yourfile.xml")
        open("yourfile.xml", "wb") { |file|
          file.write(resp.body)
        }
      }
      

      【讨论】:

        【解决方案4】:

        有几种方法,但最简单的可能是OpenURIThis blog post 有一些示例代码,并且还通过 Net::HTTP (with Hpricot) 和 Rio。

        【讨论】:

        • 最简单,也最危险。 OpenURI 修补 Kernel#open,如果任何用户输入接近您要打开的字符串,则读取系统上的任何文件和远程代码执行的大门都是敞开的。
        【解决方案5】:

        简单...

        response = Net::HTTP.get_response(URI.parse("yourURI"))
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2010-09-06
          • 1970-01-01
          • 2021-01-29
          • 1970-01-01
          相关资源
          最近更新 更多