前言:在网络通信中,curl是一种非常常用的工具,可以用来在命令行中发送HTTP、HTTPS、FTP、SMTP等请求。有时需要使用curl命令测试接口,来执行操作或者查看接口返回值等,尤其是一些内网接口。或者用来测试某程序能否正常访问到。
(1)curl url
作用:获取页面内容或者接口响应
示例:curl https://www.baidu.com
(2)curl -I url
作用:获取请求页面或接口的响应头信息
示例:curl -I https://www.baidu.com
此外,使用curl -i url除了可以获取到响应头信息外,还可以获取响应体内容。
(3)curl -d “params” url
作用:使用-d发送带参数的请求(参数默认是application/x-www-form-urlencoded格式,请求默认是post方式)。也可以通过-H、-X等设置请求头参数/请求方式等。
示例:curl -X POST -H “Content-Type: application/json” -d ‘{“username”:“admin”,“password”:“123”}’ http://127.0.0.1:8080/view/login
(4)curl -O url(是噢不是零~)
作用:下载指定资源文件到当前目录,文件名同url中的文件名称。
此外,使用-o(小写的O)可以指定文件名,curl -o 文件名 curl。
示例:curl -O https://www.baidu.com/img/PCtm_d9c8750bed0b3c7d089fa7d55720d6cf.png
(5)curl -v url
作用:显示一个请求的详细过程。包括:请求头、响应头和响应体内容。
示例:curl -v https://www.baidu.com
举例
要求:使用curl请求接口 获取响应内容 来排查问题,但是接口响应内容很大,带有base64,所以需要把请求后的响应写入一个文件。
命令实现:(1)curl -o response.txt -X POST -H ‘Content-Type: application/json’ -d ‘{“param1”:“XXX”,“param2”:“XXX”}’ http://127.0.0.1:8080/view/scbb(将接口的响应内容写入response.txt文件)
或者:
curl -o response.txt -X POST ‘http://127.0.0.1:8080/view/scbb’ -H ‘Content-Type: application/json’ -d ‘{“bpmid”:“1003383075993”,“bz”:2}’
(2)sz response.txt(下载文件到本地)