我正在运行两个cron工作:
这个执行没有问题:
curl -sS http://example.com/cronjob.php?days=1
但这根本不会发生:
curl -sS http://example.com/cronjob.php?days=1&month=1
这是因为&符号(&
)吗?如果是,如何传递多个参数?
使用argv
不是一种选择。
答案 0 :(得分:89)
您会注意到,这在您的shell中也不起作用。
您需要做的是在网址周围加上单引号,如下所示:
curl -sS 'http://example.com/cronjob.php?days=1&month=1'
答案 1 :(得分:3)
作为一种替代方法,可以在&之前使用\,这是shell的特殊字符。通常,&是对shell有意义的特殊字符之一。
因此,使用反斜杠[引用解决方案旁边]可以很好地解决此问题。 more
在您的示例中,您可以简单地应用以下命令:
curl -sS http://example.com/cronjob.php?days=1\&month=1
答案 2 :(得分:0)
尝试POST请求
curl -d "days=1&month=1" www.example.com/cronjob.php