使用wget下载文件时如何使用多个连接

41

如何使用wget下载文件,并使用多个连接来下载文件的不同部分?


请参见 https://dev59.com/K3A75IYBdhLWcg3wMl4Z。 - Nemo
1
这个回答解决了你的问题吗?使用Wget进行多个同时下载的方法? - OverShifted
3个回答

46

使用aria2

 aria2c -x 16 [url] #where 16 is the number of connections

或者

只需根据需要重复wget -r -np -N [url]命令即可创建多个线程。这并不是很美观,肯定有更好的方法来完成此操作,但如果您想要快速而简单的解决方案,它应该能够胜任。


7
你所提供的wget下载方案会导致同一文件被多次下载,从而产生多个副本。然而我希望使用多个连接下载同一文件,每个连接都负责下载文件的一部分。 - user2789031
1
“wget”解决方案无法使用多线程下载单个文件:所使用的选项“-r”是递归,“-np”(“--no-parent”)-不要向上级目录, “-N”(“--timestamping”)-不要重新检索除非本地文件比远程文件旧。但是,如果您正在下载站点的镜像,则“wget”肯定会起作用。 - Alexey Ivanov
@Trix -x, --max-connection-per-server=NUM 每个下载的最大服务器连接数。 可能的值:1-16 默认值:1 标签:#基础,#http,#ftp - mlapaglia
可能意思是使用标志“-nc”,而不是“-np”。 - awiebe
1
答案中的链接是404。 - M.M
在Ubuntu上,您可以使用sudo apt-get install aria2安装aria2。 - collimarco

31
sudo apt-get install axel
axel -n 5 url

能够胜任这项工作!

Axel 是一款轻量级程序,可以帮助下载并支持多个连接。

在断开连接后想要恢复下载吗? 没问题,只需重复该命令,axel 就会处理好一切。


1
由于“无法处理超过1024长度的URL”限制,对于长的S3预签名URL没有多大用处。 - Matt Kucia
我在使用 S3 预签名 URL 方面遇到了相同的问题。这个命令是完全无用的,2023 年在 URL 上设置 1024 字符的限制没有任何意义... - collimarco

-1

Axel支持可视化指示器。 axel -a -n [X部分] [URL]


你在https://dev59.com/rGEh5IYBdhLWcg3wtFT4#35307402的基础上添加了什么额外的见解? - Yunnosch

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接