【原创】LINUX命令行shell下curl命令使用详解

blogdaren 2014-10-27 抢沙发 1069人次

什么是curl?

curl 是一个命令行工具和库,基于URL进行数据的传输,可以用来构造http request报文,也可以用来解析服务器返回的http response。最重要的,curl广泛支持 HTTP/HTTPS/FTP/FTPS /TELNET/LDAP 等常见大多数的协议。

官方网站:

https://curl.haxx.se

裸奔读取一个页面:

[root@node1] curl http://www.baidu.com 

这是curl的最简单用法,回车试试看,www.baidu.com 的html源码立刻就会显示在屏幕上

把读取的页面另存为页面 - 写法1:

[root@node1] curl http://www.baidu.com > baidu.html 

把读取的页面另存为页面 - 写法2:

[root@node1] curl -o baidu.html http://www.baidu.com 

透过代理访问:

[root@node1] curl -x 12.34.56.78:8080 -o baidu.html http://www.baidu.com 

保存cookie:

[root@node1] curl -x 12.34.56.78:8080 -o baidu.html -D cookie.txt http://www.baidu.com 

读取cookie:

[root@node1] curl -x 12.34.56.78:8080 -o baidu.html -D cookie.txt -b cookie.txt http://www.baidu.com 

模拟任意浏览器:

[root@node1] curl -A "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0)" -x 12.34.56.78:8080 -o baidu.html -D cookie.txt http://www.baidu.com

使用refer:

大家应该都听过"盗链", 其工作原理就是:服务器端检查http访问的refer。比如你先访问A页,再访问里面所指定的B页,这第二次访问的 refer 地址就是第一次访问成功后的页面地址。这样一旦服务器端发现对B页面某次访问的 refer 地址不是A页的地址,就可以断定盗链了,不过我们可以使用 -e 参数突破盗链限制:

[root@node1] curl -A "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)" -x 12.34.56.78:8080 -e test.baidu.com" -o baidu.html -D cookie.txt http://www.baidu.com

下载单个文件:

[root@node1] curl -O https://ss0.bdstatic.com/5aV1bjqh_Q23odCf/static/superman/img/logo_top_ca79a146.png

这样,服务器上的文件名,就会原封不动的自动保存在本地啦!

批量下载文件:

[root@node1] curl -O http://xxx.com/test[1-5].JPG

断点续传:

[root@node1] curl -C -O https://ss0.bdstatic.com/5aV1bjqh_Q23odCf/static/superman/img/logo_top_ca79a146.png

FTP下载 - 写法1:

[root@node1] curl -u name:passwd ftp://ip:port/path/file 

FTP下载 - 写法2:

[root@node1] curl ftp://name:passwd@ip:port/path/file 

FTP上传:

[root@node1] curl -T /path/to/local_file -u name:passwd ftp://ftp_server:port/path/ 

CURL之 HTTP GET:

对于GET方法,只需要把参数附在url后面即可:

[root@node1] curl http://www.baidu.com/login.php?user=blogdaren&password=123456

CURL之 HTTP POST:

对于POST方法,我们需要使用 -d 参数来进行参数传递:

[root@node1] curl -d "user=zhangsan&password=123456" http://www.baidu.com/login.php

#curl#

版权声明:除非注明,本文由( blogdaren )原创,转载请保留文章出处。

本文链接:【原创】LINUX命令行shell下curl命令使用详解

发表评论:

您的昵称:
电子邮件:
个人主页: