Curl用法命令笔记

在linux下curl GET多个参数问题

curl http://mywebsite.com/index.php?a=1&b=2&c=3

$_GET只能获取到参数a

由于url中有&,其他参数获取不到,而且curl会变成后台运行(因为:在linux系统中 & 会使进程系统后台运行)

必须对&进行下转义才能让$_GET获取到所有参数,

正确写法:

curl http://mywebsite.com/index.php?a=1\&b=2\&c=3


指定请求类型:-X

-X POST/PUT/DELETE

简写:-XPOST、-G(即-X GET)


传参数:-d(--data)

例如:

curl localhost/api/test -X POST -d "title=aa&content=bb"

curl -G 'http://aa.cn/query?pretty=true&u=admin&p=ss' --data-urlencode "db=mydb" --data-urlencode "q=SELECT \"*\" FROM \"my-bucket\""


指定header:-H

例如指定json格式,指定token等

// 指定请求格式为json
curl localhost/api/test -H "Content-Type:application/json"

// 限制返回格式为json
curl localhost/api/test -H "Accept:application/json"

1、文本表单:"content-type":"application/x-www-form-urlencoded"
curl http://aa.com/app/hello?qs=66 -X POST -d "world=zollty&type=12&type=34"

2、数据表单:"content-type":"multipart/form-data"
curl http://aa.com/app/hello?qs=66 -X POST -d "world=zollty&type=12&type=34"

3、指定Content-Type
curl -H "Content-Type: application/json" -X POST --data '{"world":"world", "type": [12, 34]}' http://aa.cn/app/hello?qs=66


上传文件:-F "file=@__FILE_PATH__"

例如:

// 相对路径
curl localhost/api/test -F file=@report.js
// 绝对路径
curl localhost/api/test -F file=@/root/zollty/report.js


更多用法参见:man curl


© 2009-2020 Zollty.com 版权所有。渝ICP备20008982号