Estou usando o seguinte código para baixar uma lista de arquivos pdf:
wget -i list.txt -A .pdf
Alguns arquivos pdf são baixados corretamente. No entanto, alguns arquivos de PDF não são baixados corretamente. Quando eu verifico o log, vejo o seguinte relatório:
--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]
Eu me pergunto por que não consigo abrir o arquivo pdf 111.pdf? O relatório acima diz que é 100% transferido. É por causa da conexão redefinida pelo peer?
Gostaria de saber se é possível colocar o wget em um loop para cada arquivo, de forma que ele não saia do loop, até que o download seja feito sem nenhum erro?
Eu encontrei o seguinte loop, no entanto, dá um erro. O código e o erro são mostrados abaixo:
Código:
while read -r link
do
wget -A .pdf
until [ $? = 0 ]
do
wget -A .pdf
done
done < ./list.txt
Erro:
Try 'wget --help' for more options.
wget: missing URL
Usage: wget [OPTION]... [URL]...
Estou usando o Cygwin no Windows.
Por favor, deixe-me saber se você tem outras sugestões também.
Obrigado pela sua ajuda.