Я был у вас на пару дней, и мне вообще не повезло. Несмотря на чтение за thesetwo сообщений, я не могу переписать этот маленький скрипт python, который я сделал в рубине.Преобразование скрипта python в ruby (загрузка части файла)
clean_link = link['href'].replace(' ', '%20')
mp3file = urllib2.urlopen(clean_link)
output = open('temp.mp3','wb')
output.write(mp3file.read(2000))
output.close()
Я смотрел на использование open-uri
и net/http
сделать то же самое в рубин, но продолжайте нажимать на вопрос URL перенаправления. До сих пор у меня есть
clean_link = link.attributes['href'].gsub(' ', '%20')
link_pieces = clean_link.scan(/http:\/\/(?:www\.)?([^\/]+?)(\/.*?\.mp3)/)
host = link_pieces[0][0]
path = link_pieces[0][1]
Net::HTTP.start(host) do |http|
resp = http.get(path)
open("temp.mp3", "wb") do |file|
file.write(resp.body)
end
end
Есть ли более простой способ сделать это в рубине? Кроме того, как и в случае с скриптом python, есть ли способ загрузить часть файла?
EDIT: прогресс обновлен
Hi Zed, это вопрос, который продолжает выскакивать с http- > https redirect 'http: // redmine.ruby-lang.org/issues/show/2027' –
Я обновил ответ. Надеюсь, что поможет –
спасибо zed. Что добавляют куски, чтобы проверить, сколько было прочитано? –