我正在运行两个 cron 作业:
这个执行没有问题:
curl -sS http://example.com/cronjob.php?days=1
但这根本无法运行:
curl -sS http://example.com/cronjob.php?days=1&month=1
这是因为&符号(
&
)吗?如果是,如何传递多个参数?
使用
argv
不是一个选项。
您会注意到这在您的 shell 中也不起作用。
您需要做的就是在 URL 两边加上单引号,如下所示:
curl -sS 'http://example.com/cronjob.php?days=1&month=1'
作为替代方法,您可以在 & 之前使用 \,这是 shell 的特殊字符。一般来说, & 是对 shell 有意义的特殊字符之一。
因此,使用反斜杠[除了引用解决方案]可以很好地解决这个问题。 更多
在您的示例中,您可以简单地应用此命令:
curl -sS http://example.com/cronjob.php?days=1\&month=1
尝试 POST 请求
curl -d "days=1&month=1" www.example.com/cronjob.php
这是使用多个参数执行 POST 请求的另一种方法:
curl www.example.com/cronjob.php -d name=John -d age=30