Моя проблема: Использование инструмента командной строки для скручивания моего локального сервера при отправке некоторых данных вместе с моим запросом POST не работает.
Что, по-видимому, вызывает ошибку: Представьте себе что-то подобное
curl -i -X POST -H 'Content-Type: application/json' -d '{"data1": "data goes here", "data2": "data2 goes here"}' http:localhost/path/to/api
Результат возврата данных
curl: (6) Could not resolve host: application; No data record of requested type
curl: (6) Could not resolve host: data goes here,; No data record of requested type
curl: (6) Could not resolve host: data2; No data record of requested type
curl: (3) [globbing] unmatched close brace/bracket at pos 16
После некоторого поиска я понял, что проблема не может быть в синтаксисе, используемом для запроса, поскольку он работает в оболочках UNIX.
Are you possibly using Windows? That so looks like a completely broken shell that doesn't properly deal with single-quotes vs double-quotes. I just tried that command line and it worked fine on my linux box. http://curl.haxx.se/mail/archive-2011-03/0066.html
Я пытался обойти эти «убегающие», но это все равно не сработало
2.
curl -i -X POST -H 'Content-Type: application/json' -d '{\"data1\": \"data goes here\", \"data2\": \"data2 goes here\"}' http: //localhost/path/to/api
3.
curl -i -X POST -H 'Content-Type: application/json' -d '{\"data1\": \"data goes here\", \"data2\": \"data2 goes here\"}' http: //localhost/path/to/api
Поэтому я сдался. Windows, кажется, испортила объект JSON, отправленный в POST