Djgpp下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也可以,请参见前面的设定。一般换完后速度立刻大大提高。我本人碰到过一个最难下载的软件就来回换了二十多遍才成功。