J'exécute deux tâches cron:
Celui-ci s'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.
Vous remarquerez que cela ne fonctionne pas exactement non plus 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'
Vous pouvez également utiliser\before & qui est un caractère spécial pour Shell. Généralement, & est l'un des caractères spéciaux significatifs pour Shell.
Ainsi, l'utilisation d'une barre oblique inverse [à côté de la solution Quoting] peut être une bonne solution à ce problème. plus
Dans votre exemple, vous pouvez simplement appliquer cette commande:
curl -sS http://example.com/cronjob.php?days=1\&month=1
Essayez une POST Request
curl -d "days=1&month=1" www.example.com/cronjob.php