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
|