次のようなことをしたい:
curl localhost:8080/myapp/?params={"first_key":"I'm the first value","second_key":"the second value"}
ブラウザ経由でページにアクセスしようとすると、これはかなり正常に機能しますが、cURL 経由では機能しません。私は何を間違っていますか?
次のようなことをしたい:
curl localhost:8080/myapp/?params={"first_key":"I'm the first value","second_key":"the second value"}
ブラウザ経由でページにアクセスしようとすると、これはかなり正常に機能しますが、cURL 経由では機能しません。私は何を間違っていますか?
この問題は、cURL の「URL グロビング パーサー」が原因で発生します (ドキュメントを参照)。
次のように中括弧内にパーツ セットを記述して、複数の URL または URL の一部を指定できます。
http://{ワン、ツー、スリー}.com
したがって、コマンドは次のように拡張されています。
curl localhost:8080/myapp/?params="first_key":"I'm the first value"
curl localhost:8080/myapp/?params="second_key":"the second value"
-g
オプション (または--globoff
)を使用する必要があります。
このオプションは、「URL グロビング パーサー」を無効にします。このオプションを設定すると、curl 自体によって解釈されることなく、文字 {}[] を含む URL を指定できます。
そう:
curl -g localhost:8080/myapp/?params={"first_key":"I'm the first value","second_key":"the second value"}
次に、二重引用符を保持するために、URL を一重引用符で囲む必要があります。
curl -g 'localhost:8080/myapp/?params={"first_key":"I'\''m the first value","second_key":"the second value"}'