curl -i -X POST -H ‘Content-type’:‘application/json’ -d ‘{“appId”: “kernel”,“name”: “王炫”,“certType”: “111”,“certNum”: “522132199211015212111”,“mobile”: “18585099076”,“serviceType”: “M002”}’ http://www.baidu.com
注意的是,json数据里变量要用 ‘’ 括起来
curl -s -X POST -H ‘Content-Type:application/json’ -d@export-dashboard-new.json http://${host}/zabbix/api_jsonrpc.php -v
-X 参数代表资源的请求类型(PUT Get 等)
-H参数表示在请求头中附加的参数(header中的参数)
-d参数表示需要上传的参数,需要上传文件时需要使用@file_name
-v 查看curl执行过程中的详细信息
curl -s -X POST -H ‘Content-Type:application/json’ -d@/user/local/test.json http://${host}/zabbix/api_jsonrpc.php -v
提交POST请求,附带参数放在文件test.json 中 其中@必须写
demo:
curl --request GET ‘http://localhost:8080/data/file/view/dealdata?taskId=SRM-20210409-0189+01&channel=01’ -H ‘organId: 1110000’ -F ‘file=@"/home/app_admin/yunwei/001/北分修正.xlsx"’
测试文件上传,curl提供一个-F参数选项用来做文件上传,但是-F参数的格式尤其需要注意,比如-F “file=@c:\Users\Administrator\Desktop\body.txt”,其中参数中的“@”字符很关键,如果没有字符“@”我们的文件依旧无法上传。
正确的文件上传:
总结一下就是,发送POST请求,可以通过指定请求头类型Content-Type来解决body参数尾部会增加“=”的问题。文件上传,我们使用-F选项,选项中的字符“@”是必须的,表示是文件位置前缀。
curl localhost:9999/api/daizhige/article -X POST -d “title=comewords&content=articleContent”
如上,这就是一个普通的 post 请求。
但是,一般我们的接口都是 json 格式的,这也没有问题。我们可以用 -H 参数来申明请求的 header
curl localhost:9999/api/daizhige/article -X POST -H “Content-Type:application/json” -d ‘{“title”:“comewords”,“content”:“articleContent”}’