wget是linux上的命令行的下载工具。支持HTTP和FTP协议,支持代理服务器和断点续传功能,能够自动递归远程主机的目录,找到合乎条件的文件并将其下载到本地硬盘上;如果必要,Linux wget将恰当地转换页面中的超级连接以在本地生成可浏览的镜像。

基本用法:

wget -i $file -a out.log -O /dev/null -T 0.001-t 1

有些网站或者页面,需要额外的认证,所以需要添加额外的HTTP Header,使用方法:

wget --header="Host: www.google.com" url

通过--user-agent=来伪装成浏览器

实现上传数据:

wget --post-data="user=user1&pass=pass1&submit=Login" http://domain.com/login.php

有些页面的访问需要登录,访问的时候需要传递cookie,这时候就需要和上面提到的post方式结合。一般过程是:post用户名和密码登录、保存cookie,然后访问页面时附带上cookie。

wget --post-data="user=user1&pass=pass1&submit=Login" --save-cookies=cookie.txt --keep-session-cookies http://domain.com/login.php

wget --load-cookies=cookie.txt http://domain.com/path/page_need_login.php

Wget 与CURL的最大区别也是Wget的最大的优势是可以进行递归的下载,可以一次下载一个HTML页面 或者ftp列表中的所有内容。