zipfileは、ファイル構造の実際のzipファイルにカールを介してダウンロードします

StackOverflow https://stackoverflow.com/questions/5383143

  •  28-10-2019
  •  | 
  •  

質問

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.newFile.open これがなければ、それは機能しませんでした。動く curl.perfom 最後に私を助けてくれました。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top