wget
WGET的使用方法技巧与实例
wget的使用形式是:
wget[参数列表]URL
首先来介绍一下wget的主要参数:
·-b:让wget在后台运行,记录文件写在当前目录下"wget-log"文件中;
·
-t[nuberof
times]:尝试次数,当wget无法与服务器建立连接时,尝试连接多少次。比如"-t120"表示尝试120次。当这一项为"0"的时候,指定尝试无
穷多次直到连接成功为止,这个设置非常有用,当对方服务器突然关机或者网络突然中断的时候,可以在恢复正常后继续下载没有传完的文件;
·
-c:断点续传,这也是个非常有用的设置,特别当下载比较大的文件的时候,如果中途意外中断,那么连接恢复的时候会从上次没传完的地方接着传,而不是又从
头开始,使用这一项需要远程服务器也支持断点续传,一般来讲,基于UNIX/Linux的Web/FTP服务器都支持断点续传;
·-T
[numberof
seconds]:超时时间,指定多长时间远程服务器没有响应就中断连接,开始下一次尝试。比如"-T120"表示如果120秒以后远程服务器没有发过来
数据,就重新尝试连接。如果网络速度比较快,这个时间可以设置的短些,相反,可以设置的长一些,一般最多不超过900,通常也不少于60,一般设置在
120左右比较合适;
·-w[numberofseconds]:在两次尝试之间等待多少秒,比如"-w100"表示两次尝试之间等待100秒;
·-Yon/off:通过/不通过代理服务器进行连接;
·-Q[byetes]:限制下载文件的总大小最多不能超过多少,比如"-Q2k"表示不能超过2K字节,"-Q3m"表示最多不能超过3M字节,如果数字后面什么都不加,就表示是以字节为单位,比如"-Q200"表示最多不能超过200字节;
·-nd:不下载目录结构,把从服务器所有指定目录下载的文件都堆到当前目录里;
·-x:与"-nd"设置刚好相反,创建完整的目录结构,例如"wget-nd
http://www.gnu.org
"将创建在当前目录下创建"www.gnu.org"子目录,然后按照服务器实际的目录结构一级一级建下去,直到所有的文件都传完为止;
·-nH:不创建以目标主机域名为目录名的目录,将目标主机的目录结构直接下到当前目录下;
·--http-user=username
·--http-passwd=password:如果Web服务器需要指定用户名和口令,用这两项来设定;
·--proxy-user=username
·--proxy-passwd=password:如果代理服务器需要输入用户名和口令,使用这两个选项;
·-r:在本机建立服务器端目录结构;
·-l[depth]:下载远程服务器目录结构的深度,例如"-l5"下载目录深度小于或者等于5以内的目录结构或者文件;
·-m:做站点镜像时的选项,如果你想做一个站点的镜像,使用这个选项,它将自动设定其他合适的选项以便于站点镜像;
·
-np:只下载目标站点指定目录及其子目录的内容。这也是一个非常有用的选项,我们假设某个人的个人主页里面有一个指向这个站点其他人个人主页的连接,而
我们只想下载这个人的个人主页,如果不设置这个选项,甚至--有可能把整个站点给抓下来,这显然是我们通常不希望的;
如何设定wget所使用的代理服务器
wget
可以使用用户设置文件".wgetrc"来读取很多设置,我们这里主要利用这个文件来是设置代理服务器。使用者用什么用户登录,那么什么用户主目录下的
".wgetrc"文件就起作用。例如,"root"用户如果想使用".wgetrc"来设置代理服务器,"/root/.wgert"就起作用,下面给
出一个".wgetrc"文件的内容,读者可以参照这个例子来编写自己的"wgetrc"文件:http-proxy=
111.111.111.111:8080ftp-proxy=
111.111.111.111:8080这两行的含义是,代理服务器IP地址为:111.111.111.111,端口号为:80。第一行指定HTTP
协议所使用的代理服务器,第二行指定FTP协议所使用的代理服务器。
$wget--help
GNUWget1.9.1,非交互式的网络文件下载工具。
用法:wget[选项]...[URL]...
长选项必须用的参数在使用短选项时也是必须的。
启动:
-V,--version显示Wget的版本并且退出。
-h,--help打印此帮助。
-b,-background启动后进入后台操作。
-e,-execute=COMMAND运行‘.wgetrc’形式的命令。
日志记录及输入文件:
-o,--output-file=文件将日志消息写入到指定文件中。
-a,--append-output=文件将日志消息追加到指定文件的末端。
-d,--debug打印调试输出。
-q,--quiet安静模式(不输出信息)。
-v,--verbose详细输出模式(默认)。
-nv,--non-verbose关闭详细输出模式,但不进入安静模式。
-i,--input-file=文件下载从指定文件中找到的URL。
-F,--force-html以HTML方式处理输入文件。
-B,--base=URL使用-F-i文件选项时,在相对链接前添加指定的URL。
下载:
-t,--tries=次数配置重试次数(0表示无限)。
--retry-connrefused即使拒绝连接也重试。
-O--output-document=文件将数据写入此文件中。
-nc,--no-clobber不更改已经存在的文件,也不使用在文件名后
添加.#(#为数字)的方法写入新的文件。
-c,--continue继续接收已下载了一部分的文件。
--progress=方式选择下载进度的表示方式。
-N,--timestamping除非远程文件较新,否则不再取回。
-S,--server-response显示服务器回应消息。
--spider不下载任何数据。
-T,--timeout=秒数配置读取数据的超时时间(秒数)。
-w,--wait=秒数接收不同文件之间等待的秒数。
--waitretry=秒数在每次重试之间稍等一段时间(由1秒至指定的秒数不等)。
--random-wait接收不同文件之间稍等一段时间(由0秒至2*WAIT秒不等)。
-Y,--proxy=on/off打开或关闭代理服务器。
-Q,--quota=大小配置接收数据的限额大小。
--bind-address=地址使用本机的指定地址(主机名称或IP)进行连接。
--limit-rate=速率限制下载的速率。
--dns-cache=off禁止查找存于高速缓存中的DNS。
--restrict-file-names=OS限制文件名中的字符为指定的OS(操作系统)所允许的字符。
目录:
-nd--no-directories不创建目录。
-x,--force-directories强制创建目录。
-nH,--no-host-directories不创建含有远程主机名称的目录。
-P,--directory-prefix=名称保存文件前先创建指定名称的目录。
--cut-dirs=数目忽略远程目录中指定数目的目录层。
HTTP选项:
--http-user=用户配置http用户名。
--http-passwd=密码配置http用户密码。
-C,--cache=on/off(不)使用服务器中的高速缓存中的数据(默认是使用的)。
-E,--html-extension将所有MIME类型为text/html的文件都加上.html扩展文件名。
--ignore-length忽略“Content-Length”文件头字段。
--header=字符串在文件头中添加指定字符串。
--proxy-user=用户配置代理服务器用户名。
--proxy-passwd=密码配置代理服务器用户密码。
--referer=URL在HTTP请求中包含“Referer:URL”头。
-s,--save-headers将HTTP头存入文件。
-U,--user-agent=AGENT标志为AGENT而不是Wget/VERSION。
--no-http-keep-alive禁用HTTPkeep-alive(持久性连接)。
--cookies=off禁用cookie。
--load-cookies=文件会话开始前由指定文件载入cookie。
--save-cookies=文件会话结束后将cookie保存至指定文件。
--post-data=字符串使用POST方法,发送指定字符串。
--post-file=文件使用POST方法,发送指定文件中的内容。
HTTPS(SSL)选项:
--sslcertfile=文件可选的客户段端证书。
--sslcertkey=密钥文件对此证书可选的“密钥文件”。
--egd-file=文件EGDsocket文件名。
--sslcadir=目录CA散列表所在的目录。
--sslcafile=文件包含CA的文件。
--sslcerttype=0/1Client-Cert类型0=PEM(默认)/1=ASN1(DER)
--sslcheckcert=0/1根据提供的CA检查服务器的证书
--sslprotocol=0-3选择SSL协议;0=自动选择,
1=SSLv22=SSLv33=TLSv1
FTP选项:
-nr,--dont-remove-listing不删除“.listing”文件。
-g,--glob=on/off设置是否展开有通配符的文件名。
--passive-ftp使用“被动”传输模式。
--retr-symlinks在递归模式中,下载链接所指示的文件(连至目录
则例外)。
递归下载:
-r,--recursive递归下载。
-l,--level=数字最大递归深度(inf或0表示无限)。
--delete-after删除下载后的文件。
-k,--convert-links将绝对链接转换为相对链接。
-K,--backup-converted转换文件X前先将其备份为X.orig。
-m,--mirror等效于-r-N-linf-nr的选项。
-p,--page-requisites下载所有显示完整网页所需的文件,例如图像。
--strict-comments打开对HTML备注的严格(SGML)处理选项。
递归下载时有关接受/拒绝的选项:
-A,--accept=列表接受的文件样式列表,以逗号分隔。
-R,--reject=列表排除的文件样式列表,以逗号分隔。
-D,--domains=列表接受的域列表,以逗号分隔。
--exclude-domains=列表排除的域列表,以逗号分隔。
--follow-ftp跟随HTML文件中的FTP链接。
--follow-tags=列表要跟随的HTML标记,以逗号分隔。
-G,--ignore-tags=列表要忽略的HTML标记,以逗号分隔。
-H,--span-hosts递归时可进入其它主机。
-L,--relative只跟随相对链接。
-I,--include-directories=列表要下载的目录列表。
-X,--exclude-directories=列表要排除的目录列表。
-np,--no-parent不搜索上层目录。