我正在尝试提交post变量的地方编写bash脚本,但是wget将其视为多个URL,我相信是因为它不是URLENCODED …这是我的基本思想
MESSAGE='I am trying to post this information' wget -O test.txt http://xxxxxxxxx.com/alert.php --post-data 'key=xxxx&message='$MESSAGE''
我遇到了错误,alert.php没有得到post变量,而且它还很糊糊地说
无法解决我无法解决我无法解决尝试..依此类推。
上面的示例是一个简单的sudo示例,但我相信如果可以对其进行url编码,它将通过,我什至尝试了php:
MESSAGE='I am trying to post this information' MESSAGE=$(php -r 'echo urlencode("'$MESSAGE'");')
但PHP错误了..任何想法?我如何在不执行PHP的情况下在$ MESSAGE中传递变量?
您希望$MESSAGE用双引号引起来,因此外壳程序不会将其拆分为单独的单词:
$MESSAGE
ENCODEDMESSAGE=$(php -r "echo urlencode(\"$MESSAGE\");")