我正在寻找一个 CLI 下载工具,可以更改下载时的带宽限制。
我知道的大多数 CLI 下载工具都可以设置带宽限制,但是在下载过程中无法更改该限制。
答案1
不可以。实现这一目标的主要工具是wget
和,curl
并且它们不是交互式的。
wget
和都curl
明白您可以终止并恢复下载:如果您想在下载过程中更改速度并且使用带有(为)或(为)的-c
开关,那么您可以停止或并以不同的速度重新启动它。--limit-rate=x
wget
--limit-rate x
curl
wget
curl
还有另一个工具叫做碳(网状结构也使用tc
)但这将限制计算机网络接口的速率。它使用令牌桶过滤器 (TBF)。1 个示例 (更多内容)
# tc qdisc change dev eth0 root netem delay 100ms 10ms 25%
这会导致增加的延迟为 100ms ± 10ms,下一个随机元素 25% 取决于上一个元素。这不是真正的统计相关性,而是一个近似值。
请记住,可以通过另一种选择来避免不给系统带来压力的问题--wait=seconds
。从获得手动的:
在两次检索之间等待指定的秒数。建议使用此选项,因为它可以通过降低请求频率来减轻服务器负载。除了以秒为单位,还可以使用“m”后缀以分钟为单位指定时间,使用“h”后缀以小时为单位指定时间,或使用“d”后缀以天为单位指定时间。
如果网络或目标主机发生故障,则为此选项指定较大的值很有用,这样 Wget 就可以等待足够长的时间,以合理地预期在重试之前修复网络错误。此函数指定的等待间隔受“--random-wait”的影响,请参阅。
Crawl-delay
它与 中的指令的用法类似robots.txt
。