curl常用参数
1、curl -k
再发送https请求时,加上-k参数,否则会有如下证书的报错
curl: (60) Peer's certificate issuer has been marked as not trusted by the user.
More details here: http://curl.haxx.se/docs/sslcerts.html
2、curl -X(大写) 指定请求方法,如POST、GET等
curl -k -X POST https://www.baidu.com
3、 curl -w %{http_code} 返回值带上http响应码
curl -k -w %{http_code} -X POST https://XX
4、curi -d 添加请求body
curl -k -w %{http_code} -X POST https://1XX -d 'body内容' (内容需要用单引号括起来)
5、curi -H 添加header内容
curl -k -w %{http_code} -X POST https://1XX -d 'body内容' -H 'header内容'
6、-F body带文件
curl -k -X POST https://XX -F 'file=@file_path'
7、get请求有多个参数时会被截断,解决方法
方法一:url 前后添加引号
curl -k -X GET "https://1XX/test?a=1&b=2&c=3" -H 'header内容'
方法二:url 中的&符号添加转义字符 &
curl -k -X GET https://1XX/test?a=1\&b=2\&c=3 -H 'header内容'
完整请求例子
1、这是我常用的一个完整的post请求
curl -k -w %{http_code} -X POST https://XX -d '{"value":["XX"],"name":"XX"}' -H 'Content-Type: application/json;charset=UTF-8' -H 'Cookie: session=eyJfcGVybWFuZW50IjpmYWxzZSwidXNlciI6eyJpZCI6MSwibmFtZSI6ImFkbWluIn19.YPovOg.oOLrM4Xgfs0qtw8-m4NxYLrpPks' -H 'Referer: https://XX'
2、get请求
curl -k -X GET https://XX -H 'Cookie: session=eyJfcGVybWFuZW50IjpmYWxzZSwidXNlciI6eyJpZCI6MSwibmFtZSI6ImFkbWluIn19.YPovOg.oOLrM4Xgfs0qtw8-m4NxYLrpPks'
3、请求接口时post带文件数据
-F file=@文件路径
curl -k -X POST https://XX -F \'file=@文件路径
PS:这是在用robot做功能自动化时,通过curl来下发配置,纯接口测试可以使用postman等其他工具更方便