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

问题描述 投票:0回答:4

我正在运行两个 cron 作业:

这个执行没有问题:

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

但这根本无法运行:

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

这是因为&符号(

&
)吗?如果是,如何传递多个参数?

使用

argv
不是一个选项。

curl cron
4个回答
147
投票

您会注意到这在您的 shell 中也不起作用。

您需要做的就是在 URL 两边加上单引号,如下所示:

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

23
投票

作为替代方法,您可以在 & 之前使用 \,这是 shell 的特殊字符。一般来说, & 是对 shell 有意义的特殊字符之一。

因此,使用反斜杠[除了引用解决方案]可以很好地解决这个问题。 更多

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

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

7
投票

尝试 POST 请求

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

0
投票

这是使用多个参数执行 POST 请求的另一种方法:

curl www.example.com/cronjob.php -d name=John -d age=30

来源: https://spring.io/guides/gs/accessing-data-mysql

© www.soinside.com 2019 - 2024. All rights reserved.