Quelqu'un peut-il me aider àObtenez la taille du fichier avant de télécharger et compter combien déjà téléchargé (http + Ruby)
- obtenir la taille du fichier avant je commence à télécharger
- affichage combien % était déjà téléchargé
.
require 'net/http'
require 'uri'
url = "http://www.onalllevels.com/2009-12-02TheYangShow_Squidoo_Part 1.flv"
url_base = url.split('/')[2]
url_path = '/'+url.split('/')[3..-1].join('/')
Net::HTTP.start(url_base) do |http|
resp = http.get(URI.escape(url_path))
open("test.file", "wb") do |file|
file.write(resp.body)
end
end
puts "Done."
@GeekTantra: réponse ['contenu-longueur'] fonctionne bien.Merci.J'essayais d'afficher ' réponse »et cela ne m'a rien donné. La grande question est maintenant comment je peux compter ce qui a déjà été téléchargé .... – Radek
Ce n'est pas possible. C'est la responsabilité du serveur de définir l'en-tête 'Content-Length'. Si 'http: // www.onalllevels.com' est sous votre contrôle, corrigez-le, sinon essayez de le contacter et demandez-lui de le réparer. – BalusC
On m'a dit que le serveur 'n'a pas à fournir' la longueur de contenu http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html utiliser le mot DEVRAIT envoyer ... – Radek