如何使用curl将多个参数传递给cron作业?

时间:2010-06-05 20:17:18

标签: curl cron

我正在运行两个cron工作:

这个执行没有问题:

curl -sS http://example.com/cronjob.php?days=1

但这根本不会发生:

curl -sS http://example.com/cronjob.php?days=1&month=1

这是因为&符号(&)吗?如果是,如何传递多个参数?

使用argv不是一种选择。

3 个答案:

答案 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