json - 从 bash 脚本发送 POST 请求

标签 json bash http-post

我想在发出 POST 请求后执行一个 bash 脚本。到目前为止,我正在使用 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

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

关于json - 从 bash 脚本发送 POST 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53943485/

相关文章:

regex - 递归搜索和替换文本的 Unix 命令

android - 来自Android手机的POST请求中的特殊字符消失

javascript - 从键中提取公共(public)值并制作多维数组

json - 如何使 F# JSON 类型提供程序示例可用于测试项目?

c - 在 Native Tizen 可穿戴设备中使用 libcurl 从 url 输出 json 响应

python - 当我通过终端使用 VIM 时,我不断收到重复的文件,并在末尾附加了 ~。这些是什么?

json - F# 将 JSON 字符串反序列化为正确的记录类型

macos - bash 脚本中的符号链接(symbolic link)不起作用

java - 将多个实体(自定义对象)设置为 httpRequest

html - 设置必须调用 POST 操作的下拉菜单项的样式