json 매개 변수로 컬 GET 요청
다음과 같이 cURL을 통해 "GET"요청을 명령 프롬프트에서 원격 REST API로 보내려고합니다.
curl -X GET -H "Content-type: application/json" -H "Accept: application/json" "http://server:5050/a/c/getName/{"param0":"pradeep"}"
그러나 출력을 반환하지 않습니다. 브라우저에서 URL을 직접 핑하려고 시도했지만 응답을 얻을 수 있으며 명령에 어떤 문제가 있는지 이해할 수 없습니다.
기본적으로 json 데이터를 curl을 통해 응답으로 제공하는 원격 REST 서비스에 "GET"요청을 설정하려고합니다. 아무도 내가 뭘 잘못하고 있는지 안내해 줄 수 있습니까? 나는 다양한 게시물을 시도했지만 모두 GET이 아닌 POST 요청에 대해 이야기합니다.
이것은 작동해야합니다 :
curl -i -H "Accept: application/json" "server:5050/a/c/getName{'param0':'pradeep'}"
x 대신 옵션 -i를 사용하십시오.
본문 내에서 데이터를 보내려면 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
일반 REST는 다음과 같아야합니다.
curl http://server:5050/a/c/getName/pradeep
GET URL에서 JSON을 사용하는 경우 표준 방법이 아닙니다.
사용자 이름 및 비밀번호로 보호 된 서비스의 경우 다음을 사용하십시오.
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 동작 방식은 변경하지 않습니다. 예를 들어 적절한 HEAD 요청을하려면 -X HEAD를 사용하면 충분하지 않습니다. -I, --head 옵션을 사용해야합니다.
본문에서 JSON으로 GET 요청을 제출하려면 다음을 수행하십시오.
curl -X GET \
-H "Content-type: application/json" \
-H "Accept: application/json" \
-d '{"param0":"pradeep"}' \
"http://server:5050/a/c/getName"
대부분의 최신 웹 서버는이 유형의 요청을 수락합니다.
어떤 이유로 든 위에서 언급 한 해결책 중 어느 것도 나를 위해 일하지 않았습니다. 여기 내 해결책이 있습니다. 꽤 기본적입니다.
curl -X GET API_ENDPOINT -H '콘텐츠 유형 : application / json' - d ' JSON_DATA '
API_ENDPOINT is your api endpoint e.g: http://127.0.0.1:80/api
-H has been used to added header content.
JSON_DATA is your request body it can be something like :: {"data_key": "value"} . ' ' surrounding JSON_DATA are important.
Anything after -d is the data which you need to send in the GET request
참고URL : https://stackoverflow.com/questions/21326397/curl-get-request-with-json-parameter
'IT story' 카테고리의 다른 글
자바 스크립트의 고유 한 객체 식별자 (0) | 2020.08.06 |
---|---|
git add 실행 여부에 관계없이 분기 (수정, 추가, 삭제 된 파일)를 전환 할 때 왜 git에 변경 사항이 계속 표시됩니까? (0) | 2020.08.06 |
C ++ 11이 지정된 초기화 목록을 C99로 지원하지 않는 이유는 무엇입니까? (0) | 2020.08.06 |
SQL Server 설치-설치 미디어 폴더 란 무엇입니까? (0) | 2020.08.06 |
"필수"jQuery 플러그인은 무엇입니까? (0) | 2020.08.06 |