我正在写一个bash脚本,我试图提交一个post变量,但是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编码,它会通过,我甚至尝试过像:
MESSAGE='I am trying to post this information' MESSAGE=$(PHP -r 'echo urlencode("'$MESSAGE'");')
解决方法
您希望$MESSAGE为双引号,因此shell不会将其拆分为单独的单词:
ENCODEDMESSAGE=$(PHP -r "echo urlencode(\"$MESSAGE\");")