首页 > 解决方案 > 从 bash 脚本发送 POST 请求

问题描述

我想在发出请求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

标签: jsonbashhttp-post

解决方案


curl应该做的工作。req.json这将使用其中的数据作为正文发送一个正常的 POST 请求:

curl -X POST -H "Content-Type: application/json" -d @req.json http://localhost:9500

您缺少的元素是-H "Content-Type: application/json"@数据标志中的。如果没有-H上面的标志,curl将发送一个内容类型application/x-www-form-urlencoded,如果大多数应用程序需要 JSON,他们将不会接受。@标志中的通知-dcurl正在传递文件名;否则它将使用文本本身(即“req.json”)作为数据。


推荐阅读