从bash脚本发送POST请求

时间:2018-12-27 10:28:09

标签: json bash http-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

1 个答案:

答案 0 :(得分:1)

curl应该可以完成这项工作。这将使用req.json中的数据作为正文发送正常的POST请求:

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

您丢失的元素是-H "Content-Type: application/json"和数据标志中的@。如果没有上述-H的{​​{1}}标志,则将发送内容类型为curl的内容,大多数应用程序如果期望使用JSON,则不会接受。 application/x-www-form-urlencoded标志中的@通知-d您正在传递文件名;否则,它将文本本身(即“ req.json”)用作数据。