Bash
通過 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"
我本可以使用GAMMU,但它沒有檢測到我的 (teltonika g/10 com 串列調製解調器,而在 kannel 上調製解調器工作正常。
關於如何通過使用串列調製解調器發送簡訊以及上面顯示的文本,還有其他建議嗎?
嘗試
--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='!@#$%^&*()'