1、续传软件一:Netants
Netants通过对Server发出RESTxxx指令,从而把一个大文件分割为几块进行多点续传,对一个DownloadJob最多允许5个线程,特别适合国内网络速度慢的特点。如果使用代理上网的话,对于每一个下载的Job还可以设定不同的Proxy和Port,这个特点使我们到一些慢站下载时可以自由设定选用合适的代理,非常方便。通过163拨号上网时,国内下载是DirectConnect,到美国下载软件用proxy.golden.net:3000,而到日本则用ars2.arsnet.ac.jp:8080,采用哪个Proxy视具体情况而定。
通过公司内部网来下载时,到国内下载软件则用
Wingate:8080,Server:HTTPProxy;
到美国站点下载软件Wingate8081,Server:TCPMappingWingate8081==>
proxy.golden.net:3000;
到日本下载则用Wingate8082,Server:TCPMappingWingate8082==> ars2.arsnet.ac.jp:8080(以上参数与ProxyServer配置有关,读者可以跟你们本地的网络管理员进一步联系)。
使用Netants可以直观地看到站点是否支持断点续传,只要观察任务窗口中每个任务左边的第二个小图标就行了,两个灰色的半圈表示站点不支持断点续传,一蓝一红的两个半圈表示站点支持断点续传,空白表示不能确定站点是否支持断点续传。但是Netants也存在问题,对于某些FTPServer由于无法事先知道FileSize,根本无法下载,而且某些站点如Zg169专门做了设置,禁止Netants类型的UserAgent进入该站点(在Netants1.0Beta2.55版中已经改正了这个问题),还有就是Netants在系统资源紧张的时候容易崩溃,如果从稳定性出发我建议你换用Getright。
2、续传软件二:Getright
支持单点续传,是最稳定的下载工具,尤其是对浏览器鼠标点击中的CGI捕抓能力特别强,绝大部分的URL都可以用Getright抓出来。缺点是所有的Jobs都用同一个代理。对于需要到不同慢站下载时,配置不同的代理极不方便。
3、续传软件三:NetVampire
号称是最快的单点续传下载工具,速度比Getright快些但比不上多点续传的Netants,可惜稳定性和捕抓CGI类型的DownloadURL的能力略显不足。它也支持对每个DownloadJob设定不同的代理,但最大的好处是它能仿真为浏览器终端。你可以自己选择DownloadAgent,一般是Mozilaxxx(也就是Netscape)等类型,这对于一些支持续传,但又只允许Netscape和IE终端下载的站点非常有用。前些天我连续碰到几个怪怪的美国站点,用Getright等工具传文件都被拒绝,还返回一个HTML文件告诉你说YourAgentisforbidden,换了NetVampire用Mozila去骗它一下就可以了。另外NetVampire只提供Windows95下的Agent,某些网站会告诉你它需要Windows98的Agent,这时候你可以到Options,Default,JobSettings,Advance,UserAgent里手工输入所需的类型。
4、续传软件四:Bpftp
这是一个新近崛起的支持续传的FTP客户端软件,被多个网上评测站点评为五星级软件,其强大的功能和友好的操作界面备受赞誉,名声早已超过了老牌的Wsftp和Cuteftp。主要特点是MultiSession(可开多个Bpftp窗口,登录不同站点)、AntiIdle(防止发呆过久被踢出站)、智能化的DownloadOptions(自动判断是否续传)、Download&UploadQueue(下载/上载文件任务表)和Save/LoadSession(保存任务列表和引入任务列表)。该软件支持网络代理,具体配置在Options,GeneralOptions,Firewall,有FTPProxy和HTTPProxy两种。如果网站支持REST指令,那么直接上网一定可以续传,而通过Proxy上网则最好使用FTPProxy(支持续传),因为在Bpftp里使用HTTPProxy明显地不如前面三者方便,除了能支持http://user:password@www.site.com/ directory/file.ext这种带口令的URL外,没有其他什么特别的好处,所以原则上不推荐使用。事实上,用Bpftp来下载某个站点的整个目录或者不同目录的多个文件是很方便的,因为它的任务列表功能是如此的出色和方便,这是前面三个软件所不具备的。
下面我再介绍两个在Unix下使用的续传软件。
5、续传软件五:Wget
这是一个著名的GNU程序,支持单点续传,用-r指令甚至可以把整个网页下载下来。在线帮助是wget-help,若需要分页显示可以用Linux的管道指令输出到分页程序less,即wget-help|less。你可以在Linux或者是Windows98/NT下的DOS模式下用GCC编译它。一般在Linux下都带了GCC的编译器,DOS模式下的GCC有个开发包叫Djgpp,网友们可以自行到网上下载。
Djgpp的主页是: http://www.delorie.com/djgpp/
Djgpp的主要下载站点是Simtel,但你也可以自己选择下载速度快的网址: ftp://ftp.simtel.net/pub/simtelnet/gnu/djgpp/
Wget的当前版本是1.53,下载站点是: http://www.ccp14.ac.uk/ccp/web -mirrors/wget/wget/#latest
Wget技术支持站点是: http://eihead.tuwien.ac.at/doc/support -db/sdb_e/lynx_proxy.html
Wget一般的用法就是WgetURL,但其实我们最需要用的是它里面的高级功能,例如续传、超时重连和使用代理等。下面先给出这个软件的一些常用参数定义,然后再用三个例子来对它进行详细分析。
设定Proxy,在Linux提示符下输入:
exporthttp_proxy=http://proxy.provider.de:3128/
exportftp_proxy=http://proxy.provider.de:3128/
exportgopher_proxy=http://proxy.provider.de:3128/
exportno_proxy='www.me.de,do.main,localhost'
Wget本身的参数包括: -i,--input?file=FILE 从文件读取下载任务表, 可以让程序自动下载几个文件; -c,--continue 允许续传,如果检测到本地文件 已存在则从文件尾开始; -t,--tries=NUMBER 重复尝试的次数,超过最大值后 就退出,0为一直尝试; -T,
timeout=SECONDS 读取网络数据包超时则断开 重新连接,单位是秒; -Y,--proxy=on/off 指定是否采用Proxy传输, 程序自动检测Proxy的值;
http?user=USER指定HTTP用户名;
http?passwd=PASS指定HTTP用户口令;
proxy?user=USER指定Proxy用户名
proxy?passwd=PASS指定Proxy用户口令;
-U,?--user?agent=AGENT 指定下载的Agent, 默认的Agent是Wget版本号。 范例1: exporthttp_proxy=http://proxy.golden.net:3000/ wget
proxy=on--http?user=abc--http ?passwd=School8 ?
user-agent="Mozilla/4.04[en](Win95;I;Nav)" http://www.abc.net/files/9808/CDR36.ZIP
为了便于理解我把Wget后面的指令分为三行来写,实际使用中是不分行的。这个例子是通过代理下载,输入HTTP的用户和口令,并且欺骗服务器说我现在用的是Netscape浏览器终端而不是Wget,这一招对某些国外站点特别有用。 范例2: wget-c?-t0-T15??-input-file=wget.tsk
这个例子是从wget.tsk里读取下载任务表自动下载一系列文件,并且支持续传,连续尝试许多遍,15秒内没数据就超时重连。你需要事先在Linux下用vi、emacs或者joe编辑好要下载的文件列表并存为wget.tsk。这是一个很典型的应用。
范例3: exporthttp_proxy=http://proxy.golden.net:3000/ wget??proxy=on?-c?-t0?-T10 http://idirect.tucows.com/files/epsetup.exe wget??proxy=off?-c?-t0?-T10 http://idirect.tucows.com/files/epsetup.exe
之所以要把proxy为on和off两种情况列出来是因为某些站点很狡猾,对同一个IP地址只给你送300K左右的数据后就把速度降到很低(也可能是由于网络路由引起的故障),那我们自然也有相应手段应付。用Netterm连到主机后,先在Notepad里把两个命令写下来,用的时候贴上去。如果proxyon的情况下速度很慢,重连也没什么明显进步,马上Ctrl?C断掉,从Notepad剪贴换为proxyoff(或者用上箭头切换,Linux的BashShell支持上箭头),当然你若想换另一个proxy也可以,请参见前面的设定。一般换完后速度立刻大大提高。我本人碰到过一个最难下载的软件就来回换了二十多遍才成功。
6、续传软件六:Ncftp
也是一个GNU程序,功能比Linux自己带的FTP好用得多。用法是在命令行输入ncftp,然后用open连接站点,输入?号或者help可以获得帮助,在默认状态下的FTP用户是Anonymous,如果要指定用户则加个开关open?uftp.nease.net。它的好处主要在于支持续传和对本地文件的操作能力加强,lcd是换本地目录,lls是列出本地文件。Get-C可以续传,get-R可以抓回整个目录。此外它在get(取文件)和put(送文件)中支持通配符,例如puta*.zip等等。Ncftp下载的网址是http://www.ncftp.com/ncftp/,当前版本是2.43,其3.0版正处于Beta测试阶段,增加了lrm(本地删除)等指令。
小结
在实际使用中,我一般用Getright把需要下载的URL抓出来,然后Stop或Pause掉当前的DownloadJob,转用Netants来下载(速度快),对于只允许用浏览器的站点,我就用NetVampire仿真成Mozila终端来用(骗网站)。如果是一些特别慢的站点,则先登录到网络速度比较快的Unix主机,然后用Wget抓到主机上,再在自己的机器上起一个支持续传的FTP服务器Warftpd,最后用Ncftp的put指令传回本地