一个伪linux粉丝的blog

  1. 首页
  2. network
  3. 正文

wget for Windows

29 2 月, 2008 2319点热度 0人点赞 0条评论

wget是个不错的下载工具,它可以帮助你从网络上自由下载各种文件。支持HTTP,HTTPS和FTP协议,还可以使用HTTP代理;并支持断点传输。
wgt是个免费的软件,但是wget的参数极其之多,听闻有上百种。一般估计很难使用了。所以我在这里收集里常用的参数,来做一下使用说明,希望抛砖引玉,可以在使用过程中能带来一些帮助。

一、wget使用格式:

wget [参数]… [网址]…

二、wget常用参数:

1、启动类参数  ----这一类参数主要提供软件的一些基本信息;

-V,--version   显示软件版本号然后退出;
-h,--help   显示软件帮助信息;
-e,--execute=COMMAND   执行一个 “.wgetrc”命令
-b, --background 启动后转入后台执行,记录文件写在当前目录下"wget-log"文件中。

以上每一个功能有长短两个参数,长短功能一样,都可以使用。需要注意的是,这里的-e参数是执行一个.wgettrc的命令,.wgettrc命令其实是一个参数列表,直接将软件需要的参数写在一起就可以了。

2、文件处理参数  ----这类参数定义软件log文件的输出方式等;

-o,--output-file=FILE   将软件输出信息保存到文件;
-a,--append-output=FILE  将软件输出信息追加到文件;
-d,--debug  显示输出信息;
-q,--quiet   不显示输出信息;
-i,--input-file=FILE   从文件中取得URL;

3、下载参数  ----下载参数定义下载重复次数、保存文件名等;

-t,--tries=NUMBER   是否下载次数(0表示无穷次)
-O --output-document=FILE  下载文件保存为别的文件名
-nc, --no-clobber   不要覆盖已经存在的文件
-c, --continue 启用断点传输,接着下载没下载完的文件
-N,--timestamping  只下载比本地新的文件
-T,--timeout=SECONDS   设置超时时间
-w, --wait=SECONDS 两次尝试之间间隔SECONDS秒
--waitretry=SECONDS 在重新链接之间等待1...SECONDS秒
--random-wait 在下载之间等待0...2*WAIT秒
-Q, --quota=NUMBER 设置下载的容量限制
-E, --html-extension 将所有text/html文档以.html扩展名保存
-m, --mirror 等价于 -r -N -l inf -nr
-p, --page-requisites 下载显示HTML文件的所有图片递归下载中的包含和不包含(accept/reject)
-Y,--proxy=on/off   关闭代理

4、目录参数  ----目录参数主要设置下载文件保存目录与原来文件(服务器文件)的目录对应关系;

-nd --no-directories   不建立目录
-x,--force-directories   强制建立目录
-nH, --no-host-directories 不创建主机目录
-P, --directory-prefix=PREFIX 将文件保存到目录 PREFIX/...

5、HTTP参数  ----HTTP参数设置一些与HTTP下载有关的属性;

--http-user=USER  设置HTTP用户
--http-passwd=PASS  设置HTTP密码
--proxy-user=USER  设置代理用户
--proxy-passwd=PASS  设置代理密码

-U 例如伪装成win7下的ie8, -U  "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0)"

6、递归参数设置  ----在下载一个网站或者网站的一个目录的时候,我们需要知道的下载的层次,这些参数就可以设置;

-r,--recursive 下载整个网站、目录(小心使用)
-k, --convert-links 转换非相对链接为相对链接(下载网页时很有用)
-K, --backup-converted 在转换文件X之前,将之备份为 X.orig
-l,--level=NUMBER 下载层次
-np, --no-parent 不要追溯到父目录

7、递归允许与拒绝选项参数  ----下载一个网站的时候,为了尽量快,有些文件可以选择下载,比如图片和声音,在这里可以设置;

-A,--accept=LIST   可以接受的文件类型
-R,--reject=LIST  拒绝接受的文件类型
-D,--domains=LIST  可以接受的域名
--exclude-domains=LIST  拒绝的域名
-L,--relative   只下载相对链接
--follow-ftp   只下载HTML文档中的FTP链接
-H,--span-hosts   可以下载外面的主机
-I,--include-directories=LIST  允许的目录
-X,--exclude-directories=LIST   拒绝的目录

8、如何设定wget所使用的代理服务器

wget可以使用用户设置文件".wgetrc"来读取很多设置,我们这里主要利用这个文件来是设置代理服务器。使用者用什么用户登录,那么什么用户主目录下的 ".wgetrc"文件就起作用。例如,"root"用户如果想使用".wgetrc"来设置代理服务器,"/root/.wgetrc"就起作用,下面给出一个".wgetrc"文件的内容,读者可以参照这个例子来编写自己的"wgetrc"文件:
http-proxy = 111.111.111.111:8080
ftp-proxy = 111.111.111.111:8080
这两行的含义是,代理服务器IP地址为:111.111.111.111,端口号为:80。第一行指定HTTP协议所使用的代理服务器,第二行指定FTP协议所使用的代理服务器。

三、wget使用实例:

* wget -r -np -nd http://example.com/packages/
这条命令可以下载 http://example.com 网站上 packages 目录中的所有文件。其中,-np 的作用是不遍历父目录,-nd 表示不在本机重新创建目录结构。

* wget -r -np -nd --accept=iso http://example.com/centos-5/i386/
与上一条命令相似,但多加了一个 --accept=iso 选项,这指示 wget 仅下载 i386 目录中所有扩展名为 iso 的文件。你也可以指定多个扩展名,只需用逗号分隔即可。
* wget -i filename.txt
此命令常用于批量下载的情形,把所有需要下载文件的地址放到 filename.txt 中,然后 wget 就会自动为你下载所有文件了。
* wget -c http://example.com/really-big-file.iso
这里所指定的 -c 选项的作用为断点续传。
* wget -m -k (-H) http://www.example.com/
该命令可用来镜像一个网站,wget 将对链接进行转换。如果网站中的图像是放在另外的站点,那么可以使用 -H 选项。
* wget -r ftp://10.8.8.8/movie/
如果直接这样下载会产生10.8.8.8/movie/ 这样的目录,可以加一个-nH参数,这样种子会生成movie目录,或者再加一个--cut-dirs=1的参数。-nd是不生成任何目录。

wget -e http-proxy=proxy.hamo.cn:8080 –proxy=on –proxy-user=hamo –proxy-passwd=8888 -c http://www.hamo.cn

下载 WGET for Windows
http://users.ugent.be/~bpuype/wget/#download

-----------------------------------------------------------

范例一:mirror一个网站

wget -r www.redhat.com

范例二:mirror一个网站下的某个目录:

wget -r www.redhat.com/mirrors/LDP

范例三:结合nohup在后台运行,让机器自动下载,并生成nohup.out文件,纪录下载过程的速度。
nohup wget -c -t0 -T120 -i list.txt &

wget是一个命令行工具,用于批量下载文件,支持HTTP和FTP。究竟比其他的工具好在哪里?看看内容吧 :)
wget基本上所有的Linux版本都自己带了,但是有多少人在用呢?呵呵,如果你没有用过,不妨试试。Windows下面的用户可以使用GNUwin32的项目,wget,基本功能完全一致。好吧,我们来以几个简单的例子看看wget的威力。

如果我们想下载ftp里面某个目录里面的所有文件,我们也可以不用ftp这个笨蛋,呵呵,可以享受cute ftp等图形化工具的拖一个目录的轻松了。如
wget -r ftp://10.8.8.8/movie/

呵呵,等吧!下完了,发觉有些不对劲,怎么出来个10.8.8.8的目录,进去看看,又是一个movie,哦,wget将目录结构和网站标题都给记录下来了,不要??没有问题!比如说还是这个例子

wget -r -nd ftp://10.8.8.8/movie/

结果什么目录都没有了,faint!怎么会这样?呵呵,你如果想要这样就让它这样吧,否则使用
wget -r -nH ftp://10.8.8.8/movie/

恩?movie也不要?OK,那就这样
wget -r -nH --cut-dirs=1 ftp://10.8.8.8/movie/

这有什么用啊?cuteftp比他好用多了,而且,你这断了线能连吗?呵呵,不好意思,可以连
wget -c -r -nH --cut-dirs=1 ftp://10.8.8.8/movie/

但是cuteftp能做下面的事情吗?比如,现在很多网站使用Apache建站,并不提供ftp服务,但是Apache有一个indexing功能,可以提供一个类似于ftp的界面,好多文件我想下啊,怎么办?由于是HTTP协议,CuteFTP无能为力了,倒是flash get等有什么get all这种功能,不知道他们对于目录处理怎么样。但是wget一点问题都没有,不信?我们拿CTAN为例(例子并不恰当,CTAN有FTP服务),我们下载这里面所有的宏包,呵呵
wget -r -k http://www.ctan.org/tex-archive/macros/latex/

-k表示将连接转换为本地连接。但是现在同样有上面的问题啊,那就把你需要的加上吧,另外也许你根本不需要向下走那么多层,比如,我们就要到第二层,那么
wget -r -l2 -k http://www.ctan.org/tex-archive/macros/latex/

现在新的问题是,由于网页有一个排序功能,很讨厌,因为下载的时候把网页重复了好多次,那么我们可使用-A和-R开关控制下载类型,并且可以使用通配符,呵呵,现在随心所欲了吧
wget -r -R ".htm\?*" -k http://www.ctan.org/tex-archive/macros/latex/

这次没有那种网页了吧?-R的意义在于拒绝下载匹配类型的文件,-A表示仅仅接受的文件类型,如-A "*.gif"将仅下载gif图片,如果有多个允许或者不允许,可以使用,分开。

那么,我们现在在使用代理服务器,怎么办呢?呵呵,很高兴你选择了wget,你可以使用它的配置文件,环境变量来利用代理。这里推荐使用环境变量,如在 bash里面我们可以把天天用的proxy加到.bash_profile里面,这是Linux标准写法(很多软件都用的,什么apt-get,yum等等)
export http_proxy=http://10.20.30.40:8080

然后,proxy就默认打开了,如果需要暂时关闭,可以使用

wget --proxy=off -r -k http://www.ctan.org/tex-archive/macros/latex/

当然,写一个.wgetrc文件也可以,该文件可以从/usr/local/etc里面找到,里面有很详细的注释,我就不多说了。

下载网页的时候比较麻烦的事情是,有的网页被同时指向了很多遍,那么为了避免多次下载,我们使用
wget -nc -r -k http://www.ctan.org/tex-archive/macros/latex/

可以避免这件事情。为了不被有的连接指向非http://www.ctan.org/tex-archive/macros/latex/内层目录,我们还应该加上
wget -nc -np -r -k http://www.ctan.org/tex-archive/macros/latex/

避免下载非该目录里面的文件,这也避免了到不同的host上面去。当然,如果你希望有这个功能,在多个host之间跳来跳去的下载,可以使用
wget -nc -np -H -r -k http://www.ctan.org/tex-archive/macros/latex/

使得可以在多个host之间span,同时-I和-X可以使得我们仅仅跟踪某些目录或者不跟踪某些目录。如果某些HTML里面你需要的东西不是由这种东西作出来的,你就得使用--follow-tags和--ignore-tags了。

嘿,我有个文件里面都是连接,怎么办?要是不是html你只需要
wget -i your.file

如果是,那也不繁
wget -F -i your.file

wget是一个从网络上自动下载文件的自由工具。它支持HTTP,HTTPS和FTP协议,可以使用HTTP代理.

所谓的自动下载是指,wget可以在用户退出系统的之后在后台执行。这意味这你可以登录系统,启动一个wget下载任务,然后退出系统,wget将在后台执行直到任务完成,相对于其它大部分浏览器在下载大量数据时需要用户一直的参与,这省去了极大的麻烦。

wget 可以跟踪HTML页面上的链接依次下载来创建远程服务器的本地版本,完全重建原始站点的目录结构。这又常被称作"递归下载"。在递归下载的时候,wget 遵循Robot Exclusion标准(/robots.txt). wget可以在下载的同时,将链接转换成指向本地文件,以方便离线浏览。

wget 非常稳定,它在带宽很窄的情况下和不稳定网络中有很强的适应性.如果是由于网络的原因下载失败,wget会不断的尝试,直到整个文件下载完毕。如果是服务器打断下载过程,它会再次联到服务器上从停止的地方继续下载。这对从那些限定了链接时间的服务器上下载大文件非常有用。
wget的常见用法

wget的使用格式
Usage: wget [OPTION]... [URL]...
用wget做站点镜像:
wget -r -p -np -k http://dsec.pku.edu.cn/~usr_name/
# 或者
wget -m http://www.tldp.org/LDP/abs/html/
在不稳定的网络上下载一个部分下载的文件,以及在空闲时段下载
wget -t 0 -w 31 -c http://dsec.pku.edu.cn/BBC.avi -o down.log &
# 或者从filelist读入要下载的文件列表
wget -t 0 -w 31 -c -B ftp://dsec.pku.edu.cn/linuxsoft -i filelist.txt -o down.log &

上面的代码还可以用来在网络比较空闲的时段进行下载。我的用法是:在mozilla中将不方便当时下载的URL链接拷贝到内存中然后粘贴到文件filelist.txt中,在晚上要出去系统前执行上面代码的第二条。

使用代理下载
wget -Y on -p -k https://sourceforge.net/projects/wvware/

代理可以在环境变量或wgetrc文件中设定
# 在环境变量中设定代理
export PROXY=http://211.90.168.94:8080/
# 在~/.wgetrc中设定代理
http_proxy = http://proxy.yourdomain.com:3128/
ftp_proxy = http://proxy.yourdomain.com:3128/

.wgetrc文件范例

http-proxy=10.100.1.206:3128
header = Accept-Encoding: gzip,deflate
User-Agent=Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1)
referer = http://www.google.com

相关文章:

  1. wget+firefox+flashgot+内网
  2. Opera Mobile 9.7 Beta for windows mobile下载
  3. wget使用ssh socks代理
  4. Opera mini5 for windows mobile
标签: .wgetrc wget for Windows wget使用格式
最后更新:28 4 月, 2011

wanjie

这个人很懒,什么都没留下

点赞
< 上一篇
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复

This site uses Akismet to reduce spam. Learn how your comment data is processed.

归档
分类
  • network / 332篇
  • Uncategorized / 116篇
  • unix/linux / 121篇
  • 业界资讯 / 38篇
  • 公司杂事 / 11篇
  • 数码影像 / 12篇
  • 美剧 / 3篇
  • 美图共赏 / 21篇
  • 英语学习 / 3篇
标签聚合
docker 虚拟主机 天翼live dreamhost空间 ldap 邮件归档 泰国 squid openssl google-chrome 网站运营 d90 debian postgres gitlab VPS dreamhost Google deepseek Google Voice jira ssh k8s kubectl Ubuntu nexus Nginx wget kernel 浏览器

COPYRIGHT © 2008-2025 wanjie.info. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang