zl程序教程

您现在的位置是:首页 >  硬件

当前栏目

如何解决`Curl` 调用钉钉机器人字符串中空格的问题?

机器人 如何 解决 字符串 调用 空格 CURL 问题
2023-09-14 09:13:15 时间

如何解决Curl 调用钉钉机器人字符串中空格的问题?【updating…】

1. 问题如下

先看下面的shell代码

[root@server4 shells]# cat test10.sh 
#!/bin/bash
ago_month="a b c d"
echo $ago_month

 curl 'https://oapi.dingtalk.com/robot/send?access_token=189e2sfdsgfhghjhjkjlkjdfgeghjrt6678wedfgjtgh80f6437a08de268aa901'\
 -H 'Content-Type: application/json' -d '{"msgtype": "text", "text": {"content": "'$ago_month'"}}'

执行之后得到的结果就是:

[root@server4 shells]# ./test10.sh

{"errmsg":"缺少参数 json","errcode":"40035"}curl: (6) Could not resolve host: b; Unknown error
curl: (6) Could not resolve host: c; Unknown error
curl: (3) [globbing] unmatched close brace/bracket at pos 3

可以看到这个执行的结果失败了,那么具体的原因是什么呢?根据报错我们可以看到是因为curl 调用接口的时候,失败了。

2. 原因

仔细考虑之后,猜测是这个ago_month 变量中空格的原因。

3. 解决办法