我使用 d4x 继续下载,但它在 ubuntu 中已经过时了。于是我用flashgot配合wget继续下载。但是 wget 在尝试 20 次后停止,我必须手动重新启动。有没有我可以修改重试次数超过 20 次的 conf 文件?
wget CLI 是由 wget 自动创建的,所以请不要告诉我我可以使用 wget CLI 进行选择。
--tries
选项:
wget --tries=42 http://example.org/
指定
--tries=0
或 --tries=inf
无限重试(默认为 20 次重试)。
默认值也可以通过配置文件更改,如果那是你的事;打开
/etc/wgetrc
并在那里寻找:
# You can lower (or raise) the default number of retries when
# downloading a file (default is 20).
#tries = 20
取消注释
tries=20
并将其更改为您想要的。
默认重试20次,致命错误除外 像“拒绝连接”或“未找到”(404),不会重试
如果默认的重试值不能满足您的需要,则可能是您从不稳定的源下载。
以下选项也可能有很大帮助。
--retry-connrefused --read-timeout=20 --timeout=15 --tries=0 --continue
--retry-connrefused
即使服务器拒绝请求也强制 wget 重试,否则 wget 将停止重试。
--waitretry=1
如果您决定重试多次,最好在每次重试之间添加一些短时间。
--timeout=15
不稳定的链接总是导致数据流停止,默认的 900s 超时太长了。有--dns-timeout
、--connect-timeout
和--read-timeout
。通过指定--timeout
,您可以同时更新它们。
--tries=0
使 wget 重试无穷大,除了 404 等致命情况。
--continue
恢复下载
2023-02-28T17:59:32 添加
最近,我发现 wget 会在 severl 尝试非常不稳定的链接后自动存在,并配置了上述所有选项。
所以,我想出了一个 autohotkey 脚本,它将检查 wget 是否仍在运行。如果没有,它会再次提出来。
; AutoHotkey Version: 1.x
; Language: English
; Platform: WinXP/7
; Author: studotwho
; Url: https://www.autohotkey.com/board/topic/66615-continuously-check-if-a-program-is-running-and-start-it/
;
; Script Function:
; Restarts the iTeleportConnect service if it hasn't started - this usually happens if your
; wireless network interface hasn't started when iTC tries to connect.
;
; This script loops every (45) seconds to determine if iTC is running or not, and restarts it if it's not.
;
#SingleInstance, force
SendMode Input ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir% ; Ensures a consistent starting directory.
iTC_EXE = C:\usrprogs\wget-1.19.4-win32\lowspeeddown.bat
iTC_Path = C:\usrprogs\wget-1.19.4-win32
iTC_imgName = wget.exe
loop {
sleep 3000
Process, Exist, %iTC_imgName% ; check to see if iTeleportConnect is running
If (ErrorLevel = 0) ; If it is not running
{
Run, %iTC_EXE%, %iTC_Path%
}
Else ; If it is running, ErrorLevel equals the process id for the target program (Printkey). Then do nothing.
{
sleep 5
}
}