zipfileは、ファイル構造の実際のzipファイルにカールを介してダウンロードします
質問
Rubygemの縁石でファイルダウンローダーを構築しようとしています。 (見る この質問.)
zipファイルをダウンロードしようとしていますが、クラスファイルを使用して、実際にファイルを作成しようとしているため、Finder(私はOS X)でダブルクリックできます。この「カールされた」ボディをジップファイルに変換するにはどうすればよいですか。
require 'rubygems'
require 'curb'
class Download
def start
curl = Curl::Easy.new('http://wordpress.org/latest.zip')
curl.perform
curl.on_body {
|d| f = File.new('test.zip', 'w') {|f| f.write d}
}
end
end
dl = Download.new
dl.start
エラーが発生していません。また、ファイルを見つけることもできません。私は違いのない絶対的なパスを試しました。
解決
あなたは追加しています on_body
電話後のイベント perform
, 、体を転送します。イベント宣言を前に移動する場合 perform
電話してください、これはうまくいくはずです。
他のヒント
Ruby 2.0を使用しています
そして私のコードは次のとおりです。
curl = Curl::Easy.new('http://somepage.cz/index.html')
curl.on_body do |d|
f = File.open('output_file.html', 'w') {|f| f.write(d)}
end
curl.perform
私は変えなければなりませんでした File.new
に File.open
これがなければ、それは機能しませんでした。動く curl.perfom
最後に私を助けてくれました。
所属していません StackOverflow