J'utilise le code suivant pour télécharger une liste de fichiers pdf :
wget -i list.txt -A .pdf
Certains fichiers pdf sont téléchargés correctement. Cependant, certains fichiers pdf ne sont pas téléchargés correctement. Lorsque je vérifie le journal, je vois le rapport suivant :
--2013-04-09 11:25:42-- http://amazon.com/111.pdf
Reusing existing connection to amazon.com:80.
HTTP request sent, awaiting response... 200 No headers, assuming HTTP/0.9
Length: unspecified
Saving to: `111.pdf'
[ <=> ] 1,045 --.-K/s in 2m 9s
2013-04-09 11:27:51 (8.11 B/s) - Read error at byte 1045 (Connection reset by peer).Retrying.
--2013-04-09 11:27:52-- (try: 2) http://amazon.com/111.pdf
Connecting to amazon.com (amazon.com)|00.00.55.888|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 2680728 (2.6M) [application/pdf]
Saving to: `111.pdf'
61% [==============================> ] 1,649,221 10.0K/s in 2m 41s
2013-04-09 11:30:41 (10.0 KB/s) - Read error at byte 1649221/2680728 (Connection reset by peer). Retrying.
--2013-04-09 11:30:43-- (try: 3) http://amazon.com/111.pdf
Connecting to amazon.com (amazon.com)|00.00.55.888|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 2680728 (2.6M) [application/pdf]
Saving to: `111.pdf'
100%[==================================================>] 2,680,728 10.1K/s in 4m 22s
2013-04-09 11:35:11 (10.0 KB/s) - `111.pdf' saved [2680728/2680728]
Je me demande pourquoi je ne peux pas ouvrir le fichier pdf 111.pdf ? Le rapport ci-dessus indique qu'il est téléchargé à 100%. Est-ce à cause de la réinitialisation de la connexion par le pair ?
Je me demande s'il est possible de mettre le wget dans une boucle pour chaque fichier, de telle sorte qu'il ne sorte pas de la boucle, jusqu'à ce que le téléchargement soit terminé sans erreur ? J'ai trouvé la boucle suivante, cependant, elle donne une erreur. Le code et l'erreur sont indiqués ci-dessous :
Code :
while read -r link
do
wget -A .pdf
until [ $? = 0 ]
do
wget -A .pdf
done
done < ./list.txt
Erreur :
Try `wget --help' for more options.
wget: missing URL
Usage: wget [OPTION]... [URL]...
J'utilise Cygwin sous Windows.
N'hésitez pas à me faire savoir si vous avez d'autres suggestions.
Merci pour votre aide.