現在、OpenURI を使用して Ruby でファイルをダウンロードしています。残念ながら、完全なファイルをダウンロードせずに HTTP ヘッダーを取得することは不可能のようです。
open(base_url,
:content_length_proc => lambda {|t|
if t && 0 < t
pbar = ProgressBar.create(:total => t)
end
},
:progress_proc => lambda {|s|
pbar.progress = s if pbar
}) {|io|
puts io.size
puts io.meta['content-disposition']
}
上記のコードを実行すると、最初に完全なファイルがダウンロードされてから、必要なヘッダーが出力されることがわかります。
ファイル全体がダウンロードされる前にヘッダーを取得する方法はありますか?ヘッダーが期待どおりでない場合は、ダウンロードをキャンセルできますか?