请教一下,我用 curl -d 提交内容到企业微信机器人。内容有引用变量,变量值里面带有空格。使用 curl 提交会报错。请问这个有什么好的解决方法。
只看你说的这些,我只能回答:根据报错信息对应修改了。
如果多贴点信息的话可能更好地帮助你。
%20?
学习 shell 的引号 escape?
是的可以用%20 替换空格部分,但是因为是通过变量获取到的内容。。这个要怎么替换呢
是什么语言,找对应的 urlencode 方法。
加引号
> man curl
--data-urlencode
(HTTP) This posts data, similar to the other -d, --data options with the exception that this performs URL-encoding.
处理过类似的
"content": "'"$1"'"
用引号包裹内容
谢谢,你的方法可以。
> curl -s --data-urlencode "a=& &" "b=$your" https://httpbin.org/post
{
"form": {
"a": "& &"
}
"headers": {
"Content-Type": "application/x-www-form-urlencoded"
}
}
你可以换到 `-d` 看看区别,(如果你的内容包含&等特殊字符的话
fix 少打了一个
curl -s --data-urlencode "a=& &" --data-urlencode "b=$your" url
最近又试了另一个方式 也是可以的