Ich verwende derzeit OpenURI, um eine Datei in Ruby herunterzuladen. Leider scheint es unmöglich, die HTTP-Header zu erhalten, ohne die vollständige Datei herunterzuladen:So erhalten Sie HTTP-Header vor dem Download mit OpenUri von Ruby
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']
}
den Code oben Laufen zeigt, dass es zuerst die vollständige Datei herunterlädt und druckt nur dann die Header ich brauche.
Gibt es eine Möglichkeit, die Header zu erhalten, bevor die vollständige Datei heruntergeladen wird, damit ich den Download abbrechen kann, wenn die Header nicht so sind, wie ich es erwarte?
duplizieren? http://stackoverflow.com/questions/13916046/display-http-headers-using-openuri?rq=1 – yeyo
@Kira nein, mit der verknüpften Antwort wird zuerst herunterladen die vollständige Datei, genau das, was ich _not_ wollte. – ePirat