Curl GET запрос с параметром json
Я пытаюсь отправить запрос " GET " на удаленный REST API из командной строки через cURL следующим образом:
curl -X GET -H "Content-type: application/json" -H "Accept: application/json" "http://server:5050/a/c/getName/{"param0":"pradeep"}"
но он не возвращает никаких выходных данных. Я попытался пинговать URL непосредственно из браузера, я могу получить ответ успешно, я не понимаю, что не так с командой.
в основном я хочу установить запрос " GET " на удаленную службу REST, которая дает мне данные json в качестве ответа через curl. Может ли кто-нибудь указать мне, какую ошибку я делаю? Я попытался различные посты, но все они говорят о почтовых запросах, а не о GET.
5 ответов:
Это должно работать :
curl -i -H "Accept: application/json" "server:5050/a/c/getName{"param0":"pradeep"}"опция пользователя-i вместо x.
если вы хотите отправить ваши данные внутри тела, то вы должны сделать
POSTилиPUTвместоGET.для меня это выглядит так, как будто вы пытаетесь отправить запрос с параметрами uri, который не связан с
GET, вы также можете поставить эти параметры наPOST,PUTи так далее.запрос является необязательной частью, разделенной вопросительным знаком ("?"), который содержит дополнительную идентификационную информацию, которая не является иерархическая по своей природе. Синтаксис строки запроса не определен в общем виде, но обычно он организован как последовательность пар=, причем пары разделены точкой с запятой или амперсандом.
например:
curl http://server:5050/a/c/getName?param0=foo¶m1=bar
GET принимает пары значений имен.
попробуйте что-то вроде:
curl http://server:5050/a/c/getName/?param1=pradeepили
curl http://server:5050/a/c/getName?param1=pradeepкстати обычный отдых должен выглядеть примерно так
curl http://server:5050/a/c/getName/pradeepесли он принимает JSON в GET URL, это не стандартный способ.
для служб, защищенных именем пользователя и паролем, используйте следующие
curl -u admin:password -X GET http://172.16.2.125:9200 -d '{"sort":[{"lastUpdateTime":{"order":"desc"}}]}'
попробовать
curl -G ...вместо
curl -X GET ...обычно вам не нужна эта опция. Все виды запросов GET, HEAD, POST и PUT скорее вызываются с помощью выделенных параметров командной строки.
этот параметр изменяет только фактическое слово, используемое в HTTP-запросе, он не изменяет поведение curl. Так, например, если вы хотите сделать правильный запрос головы, используя-X HEAD не будет достаточно. Вам нужно использовать опцию-I, --head.