我要下载的文件名中“Part”后面有一个空格。看起来 http.get 没有正确传递 url_path,因为您可以毫无问题地从浏览器下载文件。
如果文件名中有空格,有什么建议可以下载文件吗?
require 'net/http'
url = "http://www.onalllevels.com/2009-12-02TheYangShow_Squidoo_Part 1.flv"
puts url_base = url.split('/')[2]
puts url_path = '/'+url.split('/')[3..-1].join('/')
Net::HTTP.start(url_base) do |http|
resp = http.get(url_path)
open("test.flv", "wb") do |file|
file.write(resp.body)
end
end
puts "Done."
最佳答案
您需要对您的 URL 进行正确编码。像这样的东西:
require 'uri'
val = URI.escape("my parameter value")
关于ruby - 我可以通过 http 下载名称中包含空格的文件吗? ( ruby ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2300868/