对等方重置 wget 连接

Si1*_*i14 1 pdf cygwin wget

我正在使用以下代码下载 pdf 文件列表:

wget -i list.txt -A .pdf
Run Code Online (Sandbox Code Playgroud)

某些 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]
Run Code Online (Sandbox Code Playgroud)

我想知道为什么我无法打开 pdf 文件 111.pdf?上面的报告说它是 100% 下载的。是不是因为对方重置了连接?

我想知道是否可以将 wget 放入每个文件的循环中,这样它就不会退出循环,直到下载完成且没有错误?我发现了以下循环,但是,它给出了错误。代码和错误如下所示:

代码:

while read -r link
do
        wget -A .pdf
        until [ $? = 0 ]
        do
            wget -A .pdf
        done
done < ./list.txt
Run Code Online (Sandbox Code Playgroud)

错误:

Try `wget --help' for more options.
wget: missing URL
Usage: wget [OPTION]... [URL]...
Run Code Online (Sandbox Code Playgroud)

我在 Windows 上使用 Cygwin。

如果您还有其他建议,请告诉我。

感谢您的帮助。

Den*_*nis 5

关闭连接

对等方关闭的连接通常意味着连接被目标机器(或跟踪路由上的任何其他机器)故意关闭。

结合下载在您的浏览器中运行良好的事实,我怀疑服务器被配置为禁止或减慢批量下载和/或下载程序。

损坏的文件

在第一次尝试中,只有 1,045 个被下载,并且标头声明长度未指定。我怀疑文件的第一部分实际上是某种错误消息(例如,您必须在下载之间等待 X 秒)。

可能的解决方案