GNU Wget(常简称为Wget)是一个在网络上进行下载的简单而强大的自由软件,其本身也是GNU计划的一部分。它的名字是“World Wide Web”和“Get”的结合,同时也隐含了软件的主要功能。当前它支持通过HTTP、HTTPS,以及FTP这三个最常见的TCP/IP协议协议下载。
一、 命令格式
wget [option]... [URL]...
// Wget - The non-interactive network downloader。
二、 参数说明
启动参数:这一类参数主要提供软件的一些基本信息。
-V,–version 显示软件版本号然后退出;
-h,–help显示软件帮助信息;
-e,–execute=COMMAND 执行一个 “.wgetrc”命令
以上每一个功能有长短两个参数,长短功能一样,都可以使用。需要注意的是,这里的-e参数是执行一个.wgettrc的命令,.wgettrc命令其实是一个参数列表,直接将软件需要的参数写在一起就可以了。
文件参数:这类参数定义软件log文件的输出方式等。
-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 关闭代理
目录参数:目录参数主要设置下载文件保存目录与原来文件(服务器文件)的目录对应关系;
-nd –no-directories 不建立目录
-x,–force-directories 强制建立目录
HTTP参数:HTTP参数设置一些与HTTP下载有关的属性。
–http-user=USER设置HTTP用户
–http-passwd=PASS设置HTTP密码
–proxy-user=USER设置代理用户
–proxy-passwd=PASS设置代理密码
以上参数主要设置HTTP和代理的用户、密码;
FTP参数:FTP参数设置一些与FTP下载有关的属性。
-nr, –dont-remove-listing 不移走 `.listing’文件
-g, –glob=on/off 打开或关闭文件名的 globbing机制
–passive-ftp 使用被动传输模式 (缺省值).
–active-ftp 使用主动传输模式
–retr-symlinks 在递归的时候,将链接指向文件(而不是目录)
递归参数设置:在下载一个网站或者网站的一个目录的时候,我们需要知道的下载的层次,这些参数就可以设置。
-r,–recursive 下载整个网站、目录(小心使用)
-l,–level=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 拒绝的目录
三、 GNU Wget缺点
支持的协议较少,特别是cURL相比。流行的流媒体协议mms和rtsp没有得到支持,还有广泛使用各种的P2P协议也没有涉及。
支持协议过老。当前HTTP还是使用1.0版本,而HTML中通过JavaScript和CSS引用的文件不能下载。
灵活性不强,扩展性不高。面对复杂的镜像站会出现问题。
命令过于复杂,可选的设置项有上百个。