使用 curl 发送 POST 请求

一、参数说明

格式: curl -H 请求头 -d 请求体 -X POST 接口地址

参数内容格式
-H(或者 --header)请求头“Content-Type: application/json”
-dPOST内容‘{“id”: “001”, “name”:“张三”, “phone”:“13099999999”}’ 或者
‘id=001&name=张三&phone=13099999999’
-X请求协议POST、GET、DELETE、PUSH、PUT、OPTIONS、HEAD
二、示例说明

1、application/x-www-form-urlencoded
最常见的一种 POST 请求,用 curl 发起这种请求也很简单。

$ curl  -X POST -d 'name=张三'  http://localhost:2000/api/basic

2、application/json
跟发起 application/x-www-form-urlencoded 类型的 POST 请求类似,-d 参数值是 JSON 字符串,并且多了一个 Content-Type: application/json 指定发送内容的格式。

$ curl -H "Content-Type: application/json" -X POST -d '{"id": "001", "name":"张三", "phone":"13099999999"}'  http://localhost:2000/api/json

3、multipart/form-data
这种请求一般涉及到文件上传。后端对这种类型请求的处理也复杂一些。

$ curl -F raw=@raw.data -F name=张三 http://localhost:2000/api/multipart

4、把文件内容作为要提交的数据
如果要提交的数据不像前面例子中只有一个 name: 张三 键值对,数据比较多,都写在命令行里很不方便,也容易出错,那么可以把数据内容先写到文件里,通过 -d @filename 的方式来提交数据。这是 -d 参数的一种使用方式,所以前面用到 -d 参数的地方都可以这样用。
实际上就是把 -d 参数值写在命令行里,变成了写在文件里。跟 multipart/form-data 中上传文件的 POST 方式不是一回事。@ 符号表明后面跟的是文件名,要读取这个文件的内容作为 -d 的参数。

例如,有一个 JSON 文件 data.json 内容如下:

{
    "id": "001",
    "name":"张三",
    "phone":"13099999999"
}

就可以通过

$ curl -H "Content-Type: application/json" -X POST -d @data.json  http://localhost:2000/api/json

来提交数据。

  • 23
    点赞
  • 58
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值