curl(网页访问,文件传输工具)
curl可以下载文件,但是长项不在于下载,而在于模拟提交web数据,POST/GET请求,调试网页,等等。curl支持URL中加入变量,因此可以批量下载。;
使用curl 来跟网站的API 交互,简便清晰。
1、安装
1.安装:
sudo apt install curl
2.查看是否成功:
curl --version
3、常用参数
-c,–cookie-jar:将cookie写入到文件
-b,–cookie:从文件中读取cookie
-C,–continue-at:断点续传
-d,–data:http post方式传送数据
-D,–dump-header:把header信息写入到文件
-F,–from:模拟http表达提交数据
-s,–slient:减少输出信息
-o,–output:将信息输出到文件
-O,–remote-name:按照服务器上的文件名,存在本地
–l,–head:仅返回头部信息
-u,–user[user:pass]:设置http认证用户和密码
-T,–upload-file:上传文件
-e,–referer:指定引用地址
-x,–proxy:指定代理服务器地址和端口
-w,–write-out:输出指定格式内容
–retry:重试次数
–connect-timeout:指定尝试连接的最大时间/s
4、使用示例
1)查看某网页(该方法大部分用来测试服务器是否能到达另一个网站):curl [URL]
curl http://www.baidu.com
2)、访问HTTP认证页面
curl –u user:pass URL
3)、 重定向保存: curl [URL] >> [你的命名]
curl http://www.baidu.com >> baidu.html
4)、下载网页:curl -o [你的命名] [URL] ,如果有乱码可以使用iconv转码
curl -o baidu.html www.baidu.com
curl –s –o baidu.html www.baidu.com |iconv -f utf-8 #减少输出信息
5)、下载网页中具体某个文件:curl -O [URL]:
curl -O http://www.baidu.com/a7.png
6)、指定proxy服务器以及其端口:curl -x [ip:端口] [URL]
curl -x 192.168.0.1:1080 http://www.baidu.com
7)、模拟用户登陆,保存cookie信息到cookies.txt文件,再使用cookie登陆
curl -c ./cookies.txt -F NAME=user -F PWD=***URL
curl -b ./cookies.txt –o URL
8)、获取和保存HTTP响应头headers:curl -D [保存格式] [URL]
curl -I http://www.baidu.com
curl -D ./header.txt http://www.baidu.com #将headers保存到文件中
9)、模仿浏览器:curl -A [UA] [URL]
curl -A "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.0)" http://www.baidu.com
10)、断点续传:curl -C -O [URL]
curl -C -O http://www.linux.com/dodo1.JPG
11)、通过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 #下载
区别
curl由于可自定义各种请求参数所以在模拟web请求方面更擅长;wget由于支持ftp和Recursive所以在下载文件方面更擅长。类比的话curl是浏览器,而wget是迅雷9。
1.下载文件
curl -O http://man.linuxde.net/text.iso #O大写,不用O只是打印内容不会下载 wget http://www.linuxde.net/text.iso #不用参数,直接下载文件
2.下载文件并重命名
curl -o rename.iso http://man.linuxde.net/text.iso #o小写 wget -O rename.zip http://www.linuxde.net/text.iso #O大写
3.断点续传
curl -O -C -URL http://man.linuxde.net/text.iso #C大 wget -c http://www.linuxde.net/text.iso #c小写
4.限速下载
curl --limit-rate 50k -O http://man.linuxde.net/text.iso wget --limit-rate=50k http://www.linuxde.net/text.iso
5.显示响应头部信息
curl -I http://man.linuxde.net/text.iso wget --server-response http://www.linuxde.net/test.iso
6.wget利器--打包下载网站
wget --mirror -p --convert-links -P /var/www/html http://man.linuxde.net/
No comments:
Post a Comment