我想在发出
bash
请求后执行 POST
脚本。到目前为止,我正在使用 Postman
来发送请求,但我想知道我是否也可以通过 bash
脚本来执行此操作以 json
文件作为参数。
到目前为止我已经研究过
curl
,但它不起作用:
bash 文件
curl -X POST -d req.json http://localhost:9500
Json 文件(
req.json
)
{
"id":5,
"name":"Dan",
"age":33,
"cnp":33,
"children":100,
"isMarried":0
}
我刚刚收到错误:
HTTP/1.0 503 Service Unavailable
尾随
HTML
curl
应该可以完成这项工作。这将使用 req.json
中的数据作为正文发送正常的 POST 请求:
curl -X POST -H 'Content-Type: application/json' -d @req.json http://localhost:9500
curl -X POST -H 'Content-Type: application/json' -d '{"message": "hello"}' http://localhost:9500
您缺少的元素是数据标志中的
-H "Content-Type: application/json"
和 @
。如果没有上面的 -H
标志,curl
将发送 application/x-www-form-urlencoded
的内容类型,大多数应用程序如果需要 JSON,则不会接受。 @
标志中的 -d
通知 curl
您正在传递文件名;否则它使用文本本身(即“req.json”)作为数据。