代码改变世界

curl命令

2014-07-19 14:12  雪夜&流星  阅读(491)  评论(0编辑  收藏  举报

1.功能作用

cURL是一个非常实用的命令行工具,可以有效的帮助你处理URL相关操作和数据传输。最早这个工具用来帮助大家使用命令行格式来编程实现各种不同协议下的文件传输,如,HTTP,HTTPs,FTP,gopher,sftp等等。我们可以方便的使用批处理或者shell脚本语言来自动处理URL相关的操作。

2.位置

/usr/bin/curl

3.格式用法

curl [options...] 

4.主要参数

 

 

5.应用实例

1、请求URL,结果显示在标准输出屏幕上
curl http://www.lampblog.net/
curl --url http://www.lampblog.net/

2、把请求结果记录下来
curl -o page.html http://www.lampblog.net
curl http://www.lampblog.net > page.html

3、用option可以指定http访问所使用的proxy服务器及其端口
curl -x 123.45.67.89:1080 -o page.html http://www.lampblog.net

4、保存cookie信息到文件里
curl -x 123.45.67.89:1080 -o page.html -D cookie0001.txt http://www.lampblog.net

5、将cookie信息添加到http请求中
curl -D cookie0002.txt -b cookie0001.txt http://www.lampblog.net

6、浏览器信息
curl -A "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)" http://www.lampblog.net

7、设置来源页面referer
curl -e "mail.linuxidc.com" http://www.lampblog.net

8、开启gzip请求
curl -H Accept-Encoding:gzip,defalte http://www.sina.com.cn/

9、模拟POST表单方式请求
curl -d "birthyear=1905&press=OK" www.hotmail.com/when/junk.cgi

10、模拟POST表单提交文件
curl -F upload=@localfilename -F press=OK URL

11、使用PUT
curl -T uploadfile www.uploadhttp.com/receive.cgi

HTTP协议文件上传的标准方法是使用PUT,此时curl命令使用-T参数

12、curl处理认证页面
curl -u name:password www.secrets. com

13、代理服务器认证用户名和密码
curl -U proxyuser:proxypassword http://curl.haxx.se

14、采用本地证书认证
curl -E mycert.pem https://that.secure.server.com

15、跟踪重定向页面
curl -L http://www.gbin1.com/404

16、重用正测表达式下载多个页面
curl http://www.gbin1.com/bloghome.html?firstentry=[1-15]

17、读取头信息
curl --head http://www.gbin1.com/

18、把header信息写入到该文件中
curl --dump-header headers.txt http://www.gbin1.com/

19、请求FTP目录
curl ftp://username:password@gbin1.com/technology/
curl -u username:password ftp://gbin1.com/technology/

20、上传文件到FTP目录
curl -T uploadfilename -u username:password ftp://gbin1.com/somefilename

21、断点续传
curl -C http://www.sina.com.cn/

22、显示抓取错误
curl -f http://www.sina.com.cn/asdf

23、比较大的文件分段下载
curl -r 0-100 -o img.part1http://i2.f.itc.cn/thumb/180/bj/6018/b_60178154.jpg
curl -r 100-200 -o img.part2http://i2.f.itc.cn/thumb/180/bj/6018/b_60178154.jpg
curl -r 200- -o img.part3http://i2.f.itc.cn/thumb/180/bj/6018/b_60178154.jpg
cat img.part* >img.jpg

24、不显示下载进度信息
curl -s http://www.lampblog.net/aaa.jpg

25、显示下载进度信息
curl -# http://www.lampblog.net/aaa.jpg