1. 基本知识

Curl命令在linux操作系统中经常来测试网络和url的联通性,模拟正常的网络访问,当然除了这个作用之外,作为y一款强大的工具,curl还支持包括HTTP、HTTPS、ftp等众多协议,还支持POST、cookies、认证、从指定偏移处下载部分文件等功能。

2. 用途

2.1 和浏览器访问类似,获取网页返回内容

直接执行curl 网址,获得与在浏览器访问一样的返回信息,比如以下语句:

curl https://www.baidu.com/

2.1.1 进阶,获取restful API返回数据

既然知道直接执行能获得网页返回信息了,那对于那些提供了restful API接口的地址,自然就能获取返回的数据了。直接尝试以下指令(同时也可以在浏览器上执行)

curl https://api.github.com/licenses/mit

上面的语句,看到返回有一些header信息,那如果我只想要JSon数据,应该如何?只需要加一个参数:

curl -s https://api.github.com/licenses/mit

3. 参数说明

可直接使用命令案例进行尝试

参数说明
-s只获得返回内容,无任何表头信息。命令案例:
curl -s https://api.github.com/licenses/mit
-v获得通信详情信息。命令案例:
curl https://www.baidu.com/
-X POST以POST方式调用目标地址,需要结合-d执行,单独用排不上用场。命令案例:
参考-X POST -D 发送参数说明
-X GET以GET方式调用目标地址,因为直接访问就是get方式,所以通常这个用不上。命令案例:
curl -X GET www.baidu.com
-d请求参数,一般和POST一起用(也可以和GET一起用,但没必要,因为get可以直接用?在url后直接加参数。命令案例:
参考-X POST -D 发送参数说明
-o [文件名]输出保存到文件中。命令案例:
curl -o sav.txt www.baidu.com

3.1 -X POST -D 发送参数说明

直接发送POST请求

curl -X POST -d 'a=1&b=hello' URL

发送JSon post请求

curl -H "Content-Type: application/json" -X POST -d '{"a":1,"b":"hello"}' URL
Logo

更多推荐