2010-11-24 37 views
0

Comment puis-je estimer la progression/l'heure du téléchargement lorsque le fichier à télécharger manque d'informations sur la longueur du contenu? MerciComment estimer le temps de téléchargement lorsque l'en-tête de la réponse ne contient pas la longueur du contenu?

+4

il n'y a aucun moyen – SilentGhost

+0

Pour obtenir des progrès, vous avez besoin de la taille actuelle et la taille totale. Si vous ne connaissez pas la taille totale, il est impossible de connaître la taille du fichier à moins de le télécharger complètement, ce qui rendrait une progression inutile. – Blender

+3

'import aléatoire; 'print 10 ** 10 ** 10 ** 10 * random.uniform()' Répéter à intervalles réguliers pour fournir à l'utilisateur des estimations mises à jour. – aaronasterling

Répondre

1

Vous vous trouvez dans la situation plutôt improbable que le serveur ne vous enverra pas des longueurs de contenu, mais accepte les demandes de gamme d'octets (et vous avez vraiment besoin de savoir combien de temps cela prendra), vous pouvez utiliser le code dans Python seek on remote file using HTTP et faire une recherche binaire pour avoir une idée de la taille du fichier. Demandez une gamme au-delà de la taille du fichier et vous recevrez:

HTTPError: HTTP Error 416: Requested Range Not Satisfiable