如何传递多个参数到 cron 作业与 curl?

我负责两个 cron 任务:

这个执行起来没有问题:

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

但这根本就不能运行:

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

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

不能使用 argv

85648 次浏览

您会注意到,这在您的 shell 中也不能正常工作。

你需要做的是在 URL 周围加上单引号,如下所示:

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

试试 POST 请求

curl -d "days=1&month=1" www.example.com/cronjob.php

作为一种替代方法,您可以使用 before & ,它是 shell 的一个特殊字符。通常,& 是对 shell 有意义的特殊字符之一。

因此,使用反斜杠[在引用解决方案旁边]可能是解决这个问题的一个好办法

在您的示例中,您可以简单地应用以下命令:

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