从 bash 脚本发送 POST 请求

问题描述 投票:0回答:1

我想在发出

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

json bash http-post
1个回答
33
投票

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”)作为数据。

© www.soinside.com 2019 - 2024. All rights reserved.