使用 curl 发送 POST 请求的四种方式:
application/x-www-form-urlencoded
使用实例
$ curl localhost:3000/api/basic -X POST -d 'hello=world'
multipart/form-data
这种请求一般涉及到文件上传。后端对这种类型请求的处理也复杂一些。
使用实例:
$ curl localhost:3000/api/multipart -F raw=@raw.data -F hello=world
application/json
使用实例:
$ curl localhost:3000/api/json -X POST -d '{"hello": "world"}' --header "Content-Type: application/json"
跟发起 application/x-www-form-urlencoded 类型的 POST 请求类似,-d 参数值是 JSON 字符串,并且多了一个 Content-Type: application/json 指定发送内容的格式。
把文件内容作为要提交的数据
可以把数据内容先写到文件里,通过 -d @filename 的方式来提交数据。这是 -d 参数的一种使用方式, 前面用到 -d 参数的地方都可以这样用。
使用实例
有一个 JSON 文件 data.json 内容如下:
{
"hello": "world",
"xxx": "yyy",
"a": ["ooo", "mmm"]
}
就可以通过
$ curl localhost:3000/api/json -X POST -d @data.json --header "Content-Type: application/json"
来提交数据。