如何伪造主机和multithreading下载一个文件?
我想在这里下载227 GB的数据文件,但现在需要大约20-24小时。 Torrent协议对于下载中的任务和/或并行过程是很棒的,但是主机将连接数限制为一(1)。 建议
-
你能用
wget
伪造主机和multithreading任务吗? …我认为不容易……我认为禁用目录和禁用主机目录的伪代码是有意义的; 把机器人关掉; 只带.bin文件; 说我的浏览器是mozilla ; 下载到目录/tmp/
; 线程数150wget -n 150 -nd -nH -e robots=off -A".bin" -U mozilla \ -P /tmp/ http://horatio.cs.nyu.edu/mit/tiny/data/tiny_images.bin
-
排除
proxilla
因为不在apt-get中
特点
- 主机将连接数限制为一(1)。
- 我在Axel中设置了150个连接数,因为我的最大下载速度是30 MB,所以应该获得15 MB / s(= 0.1 MB / s * 150)的下载速度,但现在估计时间是21 h。
- VPN尝试:只是主机开始将用户列入黑名单。
从任务中排除axel
即使有1-16个连接也需要进度条( -a
),Axel也会失败
# http://www.cyberciti.biz/tips/download-accelerator-for-linux-command-line-tools.html axel -a -n 1 -s 16 http://horatio.cs.nyu.edu/mit/tiny/data/tiny_images.bin Initializing download: http://horatio.cs.nyu.edu/mit/tiny/data/tiny_images.bin File size: 243615796224 bytes Opening output file tiny_images.bin Error opening local file
从任务中排除aria2c
-
即使有2-16个连接,主机也会导致故障;
-c
允许在中断时继续下载,-x 10
和-s 10
允许每个服务器最多10个连接# http://askubuntu.com/a/507890/25388 aria2c -c -x10 -s10 http://horatio.cs.nyu.edu/mit/tiny/data/tiny_images.bin 08/17 21:27:25 [ERROR] CUID#6 - Download aborted. URI=http://horatio.cs.nyu.edu/mit/tiny/data/tiny_images.bin Exception: [AbstractCommand.cc:398] errorCode=16 URI=http://horatio.cs.nyu.edu/mit/tiny/data/tiny_images.bin -> [RequestGroup.cc:714] errorCode=16 Download aborted. -> [AbstractDiskWriter.cc:222] errNum=13 errorCode=16 Failed to open the file /media/masi/SamiSwapVirtual/tiny_images.bin, cause: Permission denied 08/17 21:27:25 [NOTICE] Download GID#1e5701ee3b4d44f4 not complete: /media/masi/SamiSwapVirtual/tiny_images.bin Download Results: gid |stat|avg speed |path/URI ======+====+===========+======================================================= 1e5701|ERR | 0B/s|/media/masi/SamiSwapVirtual/tiny_images.bin Status Legend: (ERR):error occurred. aria2 will resume download if the transfer is restarted. If there are any errors, then see the log file. See '-l' option in help/man page for details.
Ubuntu:16.04 64位
LTE路由器:带有最新固件的TP-link MR220
LTE连接:下载/上传30/20 MB
下载硬盘:2 TB ext4 Transcend
不幸的是,你所要求的几乎是不可能的。 您无法强制服务器允许多个连接。
如果他们根据IP限制连接数,那么您需要为每个连接发送不同的IP。 此时,您需要一个程序,该程序可以将来自不同计算机的同一文件的多个部分与即时创建的部分合并。 这应该在技术上是可行的,但肯定不实用,因为你必须找到这样一个程序,据我所知,这样的程序不存在。
我能想到的只有两个选择:
- 以允许的速率下载。
- 将文件从该服务器转移到另一台服务器,然后从该服务器下载。
- 这是最快的选择,但最好使用数据中心的现有服务器。
- 对大多数人来说,这不是一个实用的选择。
话虽如此,我自己测试了下载,它提供了我的互联网计划只能通过一个连接处理的绝对最大速度。
我有一个60 Mbit的连接,所以我可以在5.5MBps – 7.5MBps(每秒兆字节)之间下载文件。 这个来自纽约大学的下载提供了7.2MBps,这是完全合理的,超过我的平均最高速度6.5MBps。 这意味着以我的速度下载大约需要10个小时。
我怀疑你有一个30Mbit的连接导致两倍的时间,所以我估计瓶颈在你的最后,而不是纽约大学。