wget 是一个基于命令行的网络下载工具,具备如下特性:
(1)支持断点下传功能
(2)同时支持FTP和HTTP下载方式
(3)支持代理服务器
(4)设置方便简单
(5)程序小,彻底免费
wget虽然功能强大,可是使用起来仍是比较简单的,基本的语法是:wget [参数列表] URL。下面就结合具体的例子来讲明一下wget的用法。
一、下载整个http或者ftp站点。
wget http://place.your.url/here
这个命令能够将http://place.your.url/here 首页下载下来。使用
-x 会强制创建服务器上如出一辙的目录,若是使用
-nd 参数,那么服务器上下载的全部内容都会加到本地当前目录, 而不会新建目录
wget -r http://place.your.url/here
这个命令会按照递归的方法,下载服务器上全部的目录和文件,实质就是下载整个网站。这个命令必定要当心使用,由于在下载的时候,被下载网站指向的全部地址一样会被下载,所以,若是这个网站引用了其余网站,那么被引用的网站也会被下载下来!基于这个缘由,这个参数不经常使用。能够用
-l number 参数来指定下载的层次。例如只下载两层,那么使用-l 2。
要是您想制做镜像站点,那么可使用
-m 参数,例如:wget -m http://place.your.url/here
这时wget会自动判断合适的参数来制做镜像站点。此时,wget会登陆到服务器上,读入robots.txt并按robots.txt的规定来执行。
二、断点续传。
当文件特别大或者网络特别慢的时候,每每一个文件尚未下载完,链接就已经被切断,此时就须要断点续传。wget的断点续传是自动的,只须要使用
-c 参数,例如:
wget -c http://the.url.of/incomplete/file
使用断点续传要求服务器支持断点续传。
-t 参数表示重试次数,例如须要重试100次,那么就写-t 100,若是设成-t 0,那么表示无穷次重试,直到链接成功。
-T 参数表示超时等待时间,例如 -T 120,表示等待120秒链接不上就算超时。
三、批量下载。
若是有多个文件须要下载,那么能够生成一个文件,把每一个文件的URL写一行,例如生成文件 download.txt,而后用命令:
wget -i download.txt
这样就会把download.txt里面列出的每一个URL都下载下来。(若是列的是文件就下载文件,若是列的是网站,那么下载首页)
四、选择性的下载。
能够指定让wget只下载一类文件,或者不下载什么文件。例如:
wget -m –reject=gif http://target.web.site/subdirectory
表示下载http://target.web.site/subdirectory,可是忽略gif文件。
–accept=LIST 能够接受的文件类型,
–reject=LIST拒绝接受的文件类型。
五、密码和认证。
wget只能处理利用用户名/密码方式限制访问的网站,能够利用两个参数:
–http-user=USER设置HTTP用户
–http-passwd=PASS设置HTTP密码
对于须要证书作认证的网站,就只能利用其余下载工具了,例如
curl。
六、利用代理服务器进行下载。
若是用户的网络须要通过代理服务器,那么可让wget经过代理服务器进行文件的下载。此时
须要在当前用户的主目录下建立一个.wgetrc文件。文件中能够设置代理服务器:
http-proxy = 111.111.111.111:8080
ftp-proxy = 111.111.111.111:8080
能够经过wget的命令行参数指定代理服务器的用户名和密码:
–proxy-user=USER设置代理用户
–proxy-passwd=PASS设置代理密码
使用参数
–proxy=on/off 使用或者关闭代理。
wget还有不少有用的功能,须要用户去挖掘。
附录:
命令格式:
wget [参数列表] [目标软件、网页的网址]
-V,–version 显示软件版本号而后退出;
-h,–help 显示软件帮助信息;
-e,–execute=COMMAND 做为 “.wgetrc”的形式执行该命令,该命令会在.wgetrc中命令执行完后执行,此选项一般用于覆盖".wgetrc"中的设置。你能够指定多个-e 选项
-o, --output-file=FILE 将软件输出信息保存到文件;
-a, --append-output=FILE 将软件输出信息追加到文件;
-d,–debug 显示输出信息;
-q,–quiet 不显示输出信息;
-i,–input-file=FILE 从文件中取得URL;
-t --tries=NUMBER 是否下载次数(0表示无穷次)
-O, --output-document=FILE 下载文件保存为别的文件名
-nc,--no-clobber 不要覆盖已经存在的文件
-N,–timestamping 只下载比本地新的文件
-T,–timeout=SECONDS 设置超时时间
-Y,–proxy=on/off 关闭代理
-w 两次尝试之间等待多少秒,好比”-w 100″表示两次尝试 之间等待100秒;
-nd,–no-directories 不创建目录
-x,–force-directories 强制创建目录
–http-user=USER 设置HTTP用户
–http-passwd=PASS 设置HTTP密码
–proxy-user=USER 设置代理用户
–proxy-passwd=PASS 设置代理密码
-r, --recursive 载整个网站、目录(当心使用)
-l,--evel=NUMBER 下载层次
-A,–accept=LIST 能够接受的文件类型
-R,–reject=LIST 拒绝接受的文件类型
-D,–domains=LIST 能够接受的域名
–exclude-domains=LIST 拒绝的域名
-L,–relative 下载关联连接
–follow-ftp 只下载FTP连接
-H,–span-hosts 能够下载外面的主机
-I,–include-directories=LIST 容许的目录
-X,–exclude-directories=LIST 拒绝的目录
-b 让wget在后台运行,记录文件写在当前目录下”wget-log”文件中;
-Q 限制下载文件的总大小,好比”-Q2k”表示不能超过2K 字节,”-Q3m”表示最多不能超过3M字节,若是数字后面什么都不加,就表示是以字节为单 位,好比”-Q200″表示最多不能超过200字节
-nd 不下载目录结构,把从服务器全部指定目录下载的文件都堆到当前目录里;
-x 与 -nd 设置恰好相反,建立完整的目录结构,例如”wget -nd http://www.gnu.org“将建立在当前目录下建立”www.gnu.org“子目录,而后按照服务器 实际的目录结构一级一级建下去,直到全部的文件都传完为止;
-nH 不建立以目标主机域名为目录名的目录,将目标主机的目录结构直接下到当前目 录下;
-l 下载远程服务器目录结构的深度,例如”-l 5″下载目录深度小于或者等 于5之内的目录结构或者文件
-m 作站点镜像时的选项,若是你想作一个站点的镜像,使用这个选项,它将自动设 定其余合适的选项以便于站点镜像;
-np 下载目标站点指定目录及其子目录的内容。这也是一个很是有用的选项,咱们 假设某我的的我的主页里面有一个指向这个站点其余人我的主页的链接,而咱们只想下载 这我的的我的主页,若是不设置这个选项,甚至–有可能把整个站点给抓下来,