я могу скачать файл через http, в имени которого есть пробел? (Рубин) - PullRequest
2 голосов
/ 20 февраля 2010

после слова 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."

Ответы [ 2 ]

2 голосов
/ 20 февраля 2010

Вам необходимо правильно закодировать ваш URL. Что-то вроде:

require 'uri'
val = URI.escape("my parameter value")
1 голос
/ 20 февраля 2010

Вы можете попробовать заменить пробел на + или %20.

...