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

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

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

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

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

 require 'open-uri' content = open('http://example.com').read 
 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) } } 

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

简单…

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