我使用以下代码下载pdf文件列表:
wget -i list.txt -A .pdf
一些pdf文件正确下载。但是,某些pdf文件未正确下载。当我检查日志时,我看到以下报告:
--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]
我想知道为什么我无法打开pdf文件111.pdf?上述报告称它已100%下载。是因为同伴重置了连接吗?
我想知道是否有可能将wget放在每个文件的循环中,这样它就不会退出循环,直到下载完成没有错误?我找到了以下循环,但它给出了一个错误。代码和错误如下所示:
码:
while read -r link
do
wget -A .pdf
until [ $? = 0 ]
do
wget -A .pdf
done
done < ./list.txt
错误:
Try `wget --help' for more options.
wget: missing URL
Usage: wget [OPTION]... [URL]...
我在Windows上使用Cygwin。
如果您有其他建议,请告诉我。
谢谢您的帮助。
您是否可以在同一台服务器上下载该文件?如果您尝试在Web浏览器中下载它们会发生什么?
—
Dennis
@Dennis当我在浏览器中下载它们时,它看起来完美无瑕,我没有看到任何奇怪的东西。但是,当我在浏览器(chrome)中输入URL(.com / 111.pdf)时,它不会在浏览器中打开pdf文件,而是下载pdf文件。链接似乎在一台服务器上,但是,我不确定服务器地址是否与URL地址相同。
—
Si14 2013年
您是否有任何理由使用来自cygwin的wget而不是wget for Windows?
—
Karan 2013年
@Karan没有特别的理由。我正在使用Win 7(64位),我也可以使用wget for Windows。
—
Si14 2013年