curl 发送 json 和变量

curl send json with variables

如何通过 curl 将 JSON-Object 从 Microsoft Teams 发送到 Incoming Webhook? JSON 由变量中的内容填充。

alarmmeldung=`cat file.txt`
curl -H 'Content-Type: application/json' -d '{"text": $alarmmeldung}' https://incomingwebhookurl

我总是收到“通用传入 webhook 收到错误负载”作为响应。

如果我在 $alarmmeldung 两边加上引号,则可以发送请求,但我收到文本 $alarmmeldung。我其实想要的是$alarmmeldung.

的内容

我必须如何编写 curl 语句?

您需要将单引号替换为双引号以获得要插值的变量。您还需要在变量周围添加双引号,使其有效 json.

curl -H 'Content-Type: application/json' -d "{\"text\": \"$alarmmeldung\"}" https://incomingwebhookurl

如果您不想处理转义,您也可以将完整的 json 正文作为文件包含在内:

curl -H 'Content-Type: application/json' -d @file.json https://incomingwebhookurl