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列表中的所有内容。