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

Mar*_*kus 18 ruby file download

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

Cle*_*elm 18

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

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

  • 不适用于较新版本的 ruby​​。使用“URI.open”而不是“open”。 (3认同)

Kra*_*eFx 10

你可以使用open-uri,这是一个单行

require 'open-uri'

content = open('http://example.com').read
Run Code Online (Sandbox Code Playgroud)


Mat*_*ght 9

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)
  }
}
Run Code Online (Sandbox Code Playgroud)


JRL*_*JRL 7

简单的...

response = Net::HTTP.get_response(URI.parse("yourURI"))
Run Code Online (Sandbox Code Playgroud)


Jor*_*ing 5

有几种方法,但最简单的可能是OpenURI.这篇博客文章有一些示例代码,还有Net :: HTTP(与Hpricot)和Rio.