J'écris un gestionnaire de téléchargement très simple qui ne peut tout simplement Download
- Pause
-Resume
, comment est-il possible de resume
le téléchargement à partir du point exact du fichier arrêter avant, bien en fait la seule chose que je cherche est de savoir comment définir le pointeur de fichier côté serveur et puis je peux le télécharger à partir du point exact que je voulais par InternetReadFile(Any Other Functions are accepted if you know a better way for it)
. Bien que, InternetSetFilePointer Never works for me
:) et je ne veux pas utiliser BITS. Je pense que cela peut se produire en envoyant un en-tête mais je ne sais pas quoi et comment l'envoyer.Reprendre la capacité pour un simple gestionnaire de téléchargement (C++ - WinInet)
Répondre
Vous recherchez l'en-tête Range
. Utilisez HttpAddRequestHeaders()
pour ajouter un en-tête de requête personnalisé Range
indiquant au serveur la plage d'octets que vous souhaitez. Voir RFC 2616 Section 14.35 pour la syntaxe.
Si le serveur prend en charge les plages (utilisation HttpQueryInfo(HTTP_QUERY_ACCEPT_RANGES)
pour vérifier), il envoie un code d'état 206
au lieu d'un code d'état 200
(utilisez HttpQueryInfo(HTTP_QUERY_STATUS_CODE)
pour vérifier). Si 206
est reçu, recherchez simplement votre fichier existant à la position de reprise, puis lisez les données de réponse telles quelles dans votre fichier.
Si 200
est reçu, le fichier commence à partir du début, donc soit:
tronquer le fichier existant et commencer à écrire frais
chercher le fichier, lire et jeter le données de réponse jusqu'à ce qu'il atteigne la position désirée, puis lire les données restantes dans votre fichier.
Traitez tout autre code d'état comme un échec de téléchargement.
- 1. Reprendre le téléchargement interrompu?
- 2. Téléchargement de fichiers binaires avec Wininet
- 3. Objective-C Gestionnaire de téléchargement pour iPhone
- 4. C Wininet fichier de téléchargement avec Http Post
- 5. C++ WinInet Wrapper pour Windows Mobile
- 6. Vérification de la capacité de reprendre avec HttpWebRequest Méthode
- 7. ASIHttpRequest reprendre le téléchargement
- 8. C++ Téléchargement du fichier avec des commandes Pause/Reprendre
- 9. Reprendre le téléchargement youtube-dl pour MP3s
- 10. reprendre le téléchargement cassé
- 11. Problème avec wininet C++
- 12. Téléchargement d'un fichier avec WININET sur delphi
- 13. Reprendre la fonctionnalité de téléchargement dans NSURLConnection
- 14. Gestionnaire de téléchargement pour joomla
- 15. C# Simple File Server (Pour le téléchargement)
- 16. Gestionnaire de téléchargement pour Android
- 17. fonction wrapper simple post WinInet (Delphi)
- 18. Comment reprendre le téléchargement de données dans l'objectif c?
- 19. Reprendre le contrôle du fichier de téléchargement
- 20. IE nouvelle session C# wininet?
- 21. Comment suspendre et reprendre un ASIHttpRequest pour le téléchargement (pas pour le téléchargement)?
- 22. Est-ce que WinInet peut reprendre les téléchargements de fichiers sans recommencer?
- 23. youtube-dl - Reprendre le téléchargement après erreur
- 24. Téléchargement d'incrément avec support pour le gestionnaire de téléchargement
- 25. en utilisant wininet en C++
- 26. CKEditor PlugIn, simple PlugIn Capacité
- 27. Données de formulaire POST utilisant WinInet C++
- 28. Delphi, poste avec WinInet et téléchargement de suivre les progrès
- 29. Utilisez FTP4J pour reprendre la progression du téléchargement et obtenir le pourcentage de téléchargement
- 30. Android: Gestionnaire de téléchargement