1

次のようなことをしたい:

curl localhost:8080/myapp/?params={"first_key":"I'm the first value","second_key":"the second value"}

ブラウザ経由でページにアクセスしようとすると、これはかなり正常に機能しますが、cURL 経由では機能しません。私は何を間違っていますか?

4

1 に答える 1

5

この問題は、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"}'
于 2014-02-20T15:22:35.247 に答える