2010-06-05 115 views
33

我运行两个cron作业:如何通过curl将多个参数传递给cron作业?

这一个执行没有问题:

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

但是,这并不在所有运行:

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

这是因为符号的(&)?如果是,如何传递多个参数?使用argv不是一个选项。

回答

70

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

你需要做的就是把周围的URL单引号,像这样:

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

Windows用户运行卷曲的二进制文件应该使用双引号,而不是单引号来获取多个查询参数命令的工作。 – 2012-01-06 15:49:11

0

尝试使用POST请求

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

您建议发布POST的任何特定原因? – SamB 2010-06-05 20:28:13

+1

没有提到它的伤害,这是很好的知道(虽然我会去与GET) – Yeti 2010-06-05 20:30:15

+1

好吧它只是你,你也可以做一个GET请求。这就是我将如何做到这一点。然而,这是行得通的,那就是:-) – streetparade 2010-06-05 20:34:04

相关问题