通过 KANNEL 发送特殊字符和换行符

通过 KANNEL 发送特殊字符和换行符

我怎样才能发送消息给坎内尔具有线条和特殊字符。例如,如果我有包含以下文本的文件 message.txt

line1 with few special characters like @ " / :
line 2 spaces words etc
line 3 "special characters like @ " / :
line 4 end

如何使用 CURL 通过 bash 将其传递给 KANNEL ?就像curl root@radius:/temp# cat test

#!/bin/bash
MSG=`cat /temp/message.txt`
curl "http://127.0.0.1:13013/cgi-bin/sendsms?username=kannel&password=kannelpassword&to=03333333333&text=$MSG"

但它说"curl: (3) Illegal characters found in URL"

我本来可以用伽玛穆但它没有检测到我的(teltonika g/10 com串行调制解调器,而在kannel上调制解调器工作正常。

关于如何使用串行调制解调器发送短信以及上面显示的文本还有其他建议吗?

答案1

尝试--data-urlencode-G

curl "http://127.0.0.1:13013/cgi-bin/sendsms?username=kannel&password=kannelpassword&to=03333333333" -G --data-urlencode text@/temp/message.txt

您可以从标准输入提供数据:

ls -l | curl "http://127.0.0.1:13013/..." -G --data-urlencode text@-

或者直接在命令行指定:

curl "http://127.0.0.1:13013/..." -G --data-urlencode text='!@#$%^&*()'

相关内容