cURL отправляет JSON как x-www-form-urlencoded - PullRequest
0 голосов
/ 13 сентября 2018

Я хочу опубликовать следующий JSON:

{
   "cities": {
       "chicago": 123,
       "boston": 245
   }
}

Использование curl в качестве x-www-form-urlencoded без использования файла .json.Я не могу понять, как построить curl -F ...

Ответы [ 2 ]

0 голосов
/ 14 сентября 2018

Весь смысл curl -F, согласно man-странице, заключается в том, чтобы «POST-данные, используя multipart / form-data типа контента в соответствии с RFC 2388».Другими словами, это лучше всего использовать, когда вам нужно эмулировать HTML-форму с помощью ввода файла.

Вместо этого используйте curl -d, чтобы указать необработанные данные POST:

curl -d '{"cities":{"chicago":123,"boston":245}}' https://example.com

Если этона самом деле, как они ожидают данных, это неправильно настроенный сервер, так как x-www-form-urlencoded данные должны быть в форме key=value.

0 голосов
/ 13 сентября 2018

Для application/x-www-form-urlencoded вы можете попробовать:

curl -d "param1=value1&param2=value2" -X POST http://localhost:3000/blahblah

Где param1=value... должны быть вашими данными JSON как chicago=123&boston=245

Или в явном виде:

curl -d "param1=value1&param2=value2" -H "Content-Type: application/x-www-form-urlencoded" -X POST http://localhost:3000/blahblah

Вместо http://localhost:3000/blahblah вы должны указать реальный URL вашего сервиса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...