web-dev-qa-db-ja.com

curlで複数のパラメータをcronジョブに渡す方法は?

私は2つのcronジョブを実行しています:

これは問題なく実行されます:

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

しかし、これはまったく実行されません。

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

これはアンパサンド(&)?はいの場合、複数のパラメーターを渡す方法は?

argvの使用はオプションではありません。

46
Yeti

シェルでもこれが正確に機能しないことに気付くでしょう。

次のように、URLを単一引用符で囲む必要があります。

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

別の方法として、シェルの特殊文字である&の前に\を使用できます。通常、&はシェルにとって意味のある特殊文字の1つです。

したがって、バッククォートを使用することで[引用ソリューションの横に]この問題を解決できます。 詳細

例では、次のコマンドを単純に適用できます。

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

POSTリクエストを試してください

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