ruby - 我可以通过 http 下载名称中包含空格的文件吗? ( ruby )

标签 ruby httpwebrequest download

我要下载的文件名中“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/

相关文章:

ruby - Bundler - 加载多个 Gemfiles

ruby - 在 bash 中打开一个命名管道,而不读取或写入它

c# - 为什么我会得到罗马尼亚语翻译的 IMDB 结果?

google-analytics - GA的下载代码无效

javascript - 使用 JS 和 html5 从字符串创建文本文件

R 循环并从 yahoo.com 下载股票价格

ruby - Google oauth 如何交换访问 token 和 ID token 的代码

ruby-on-rails - Rails 上的 ruby ActiveRecord : pluralization

c# - 从 url 下载文件超时

c# - 在 .NET 中有什么方法可以继承没有构造函数的类吗?