Проблема вызвана «URL глобирование парсер» Curl (в см docs):
Вы можете указать несколько адресов или частей 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 глобирование анализатор". Когда вы устанавливаете эту опцию, вы можете указать 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"}'