curl能够下载,可是长项不在于下载,而在于模拟提交web数据,POST/GET请求,调试网页,等等。curl支持URL中加入变量,所以能够批量下载。;php
使用curl 来跟网站的API 交互,简便清晰。html
1.安装:linux
sudo apt install curl
2.查看是否成功:nginx
curl --version
一、查看某网页(该方法大部分用来测试服务器是否能到达另外一个网站):curl [URL]web
curl http://www.baidu.com
二、访问HTTP认证页面浏览器
curl –u user:pass URL
三、 重定向保存: curl [URL] >> [你的命名]服务器
curl http://www.baidu.com >> baidu.html
四、下载网页:curl -o [你的命名] [URL] ,若是有乱码可使用iconv转码cookie
curl -o baidu.html www.baidu.com curl –s –o baidu.html www.baidu.com |iconv -f utf-8 #减小输出信息
五、下载网页中具体某个文件:curl -O [URL]:app
curl -O http://www.baidu.com/a7.png
六、指定proxy服务器以及其端口:curl -x [ip:端口] [URL]dom
curl -x 192.168.0.1:1080 http://www.baidu.com
七、模拟用户登录,保存cookie信息到cookies.txt文件,再使用cookie登录
curl -c ./cookies.txt -F NAME=user -F PWD=***URL curl -b ./cookies.txt –o URL
八、获取和保存HTTP响应头headers:curl -D [保存格式] [URL]
curl -I http://www.baidu.com curl -D ./header.txt http://www.baidu.com #将headers保存到文件中
九、模仿浏览器:curl -A [UA] [URL]
curl -A "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.0)" http://www.baidu.com
十、断点续传:curl -C -O [URL]
curl -C -O http://www.linux.com/dodo1.JPG
十二、经过ftp上传和下载文件:curl -T [文件] -u username:password ftp:[URL] :
curl -T filename ftp://user:pass@ip/docs #上传
curl -T dodo1.JPG -u 用户名:密码 ftp://www.linux.com/img/ #上传 curl -O ftp://user:pass@ip/filename #下载
wget是个专职的下载利器,简单,专注,极致;
wget能够递归,支持断点。加 -c选项不怕断网
1.安装wget:
sudo apt install wget
2.查看是否成功:
wget --version
三、用法:wget [OPTION]... [URL]...
1 启动参数
2 日志记录和输入文件参数
3 下载参数
4 目录参数
5 HTTP参数
6 FTP参数
7 递归下载排除参数
一、使用wget下载单个文件 :wget [URL]
wget http://cn2.php.net/distributions/php-5.6.13.tar.gz
二、下载并以不一样的文件名保存 :wget -o [你的命名] [URL]
wget -o php5.6.tar.gz http://cn2.php.net/distributions/php-5.6.13.tar.gz
三、使用wget断点续传:wget -c [上次下载的URL]
wget -c http://cn2.php.net/distributions/php-5.6.13.tar.gz
四、使用wget后台下载 :wget -b [URL]
wget -b http://cn2.php.net/distributions/php-5.6.13.tar.gz
tail -f wget-log #查看文件下载进度
五、使用wget下载到指定目录:wget [URL] -P [存储地址]
wget http://cn2.php.net/distributions/php-5.6.13.tar.gz -P Download/
六、使用wget用户名和密码认证下载,登录ftp下载文件:
wget --ftp-user=USERNAME --ftp-password=PASSWORD ftp://ip/filenam
七、能够利用—spider参数判断网址是否有效
wget –spider http://nginx.org/download/nginx-1.8.0.tar.gz
八、自动从多个连接下载文件
cat url_list.txt #先建立一个URL文件 http://nginx.org/download/nginx-1.8.0.tar.gz http://nginx.org/download/nginx-1.6.3.tar.gz wget -i url_list.txt
curl因为可自定义各类请求参数因此在模拟web请求方面更擅长;wget因为支持ftp和Recursive因此在下载文件方面更擅长。类比的话curl是浏览器,而wget是迅雷9。
curl -O http://man.linuxde.net/text.iso #O大写,不用O只是打印内容不会下载 wget http://www.linuxde.net/text.iso #不用参数,直接下载文件
curl -o rename.iso http://man.linuxde.net/text.iso #o小写 wget -O rename.zip http://www.linuxde.net/text.iso #O大写
curl -O -C -URL http://man.linuxde.net/text.iso #C大 wget -c http://www.linuxde.net/text.iso #c小写
curl --limit-rate 50k -O http://man.linuxde.net/text.iso wget --limit-rate=50k http://www.linuxde.net/text.iso
curl -I http://man.linuxde.net/text.iso wget --server-response http://www.linuxde.net/test.iso
wget --mirror -p --convert-links -P /var/www/html http://man.linuxde.net/