2010-06-05 7 views
33

Je suis en cours d'exécution de deux tâches cron:Comment passer plusieurs paramètres à un travail cron avec curl?

Celui-ci exécute sans problème:

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

Mais cela ne fonctionne pas du tout:

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

Est-ce à cause de l'esperluette (&)? Si oui, comment passer plusieurs paramètres? L'utilisation de argv n'est pas une option.

Répondre

70

Vous remarquerez que cela ne fonctionne pas exactement dans votre shell.

Ce que vous devez faire est de mettre des guillemets simples autour de l'URL, comme ceci:

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

utilisateur Windows en cours d'exécution binaires papillotes doivent utiliser des guillemets doubles au lieu de simple quotes pour obtenir plusieurs commandes de paramètres de requête de travail. –

0

Essayez une demande POST

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

Une raison particulière pour laquelle vous suggérer un POST? – SamB

+1

Pas de mal à le mentionner, il est bon de savoir (bien que je vais aller avec GET) – Yeti

+1

bien qu'il vous suffit de le faire aussi avec une demande GET. C'est juste comment je le ferais. Cependant ceci fonctionnerait, et c'est le point :-) – streetparade

Questions connexes