it-swarm-korea.com

HTTP POST Linux에서 cURL을 사용하여 GET

웹 서비스를 제공하는 Windows의 ASP.NET에 작성된 서버 응용 프로그램이 있습니다.

어떻게 cURL을 사용하여 Linux에서 웹 서비스를 호출 할 수 있습니까?

326
Randhi Rupesh

* nix는 우리의 삶을 훨씬 쉽게 만들어주는 멋진 작은 명령을 제공합니다.

GET :

JSON 사용 :

curl -i -H "Accept: application/json" -H "Content-Type: application/json" -X GET http://hostname/resource

XML ​​사용 :

curl -H "Accept: application/xml" -H "Content-Type: application/xml" -X GET http://hostname/resource

우편:

게시 용 데이터 :

curl --data "param1=value1&param2=value2" http://hostname/resource

파일 업로드의 경우 :

curl --form "[email protected]" http://hostname/resource

RESTful HTTP 게시 :

curl -X POST -d @filename http://hostname/resource

사이트에 로그인하는 경우 (인증) :

curl -d "username=admin&password=admin&submit=Login" --dump-header headers http://localhost/Login
curl -L -b headers http://localhost/

예쁜 컬링 결과 인쇄 :

JSON의 경우 :

npmnodejs을 사용하는 경우이 명령을 실행하여 json 패키지를 설치할 수 있습니다.

npm install -g json

용법:

curl -i -H "Accept: application/json" -H "Content-Type: application/json" -X GET http://hostname/resource | json

pippython을 사용하는 경우이 명령을 실행하여 pjson 패키지를 설치할 수 있습니다.

pip install pjson

용법:

curl -i -H "Accept: application/json" -H "Content-Type: application/json" -X GET http://hostname/resource | pjson

Python 2.6 이상을 사용하면 json 도구가 번들로 제공됩니다.

용법:

curl -i -H "Accept: application/json" -H "Content-Type: application/json" -X GET http://hostname/resource | python -m json.tool

gemRuby을 사용하는 경우이 명령을 실행하여 colorful_json 패키지를 설치할 수 있습니다.

gem install colorful_json

용법:

curl -i -H "Accept: application/json" -H "Content-Type: application/json" -X GET http://hostname/resource | cjson

Linux 배포판의 apt-get (aptitude 패키지 관리자)를 사용하는 경우 다음 명령을 실행하여 yajl-tools 패키지를 설치할 수 있습니다.

Sudo apt-get install yajl-tools

용법:

curl -i -H "Accept: application/json" -H "Content-Type: application/json" -X GET http://hostname/resource |  json_reformat

XML의 경우 :

데비안/그놈 환경에서 * nix를 사용한다면, libxml2-utils를 설치하십시오 :

Sudo apt-get install libxml2-utils

용법:

curl -H "Accept: application/xml" -H "Content-Type: application/xml" -X GET http://hostname/resource | xmllint --format -

또는 tidy을 설치하십시오.

Sudo apt-get install tidy

용법:

curl -H "Accept: application/xml" -H "Content-Type: application/xml" -X GET http://hostname/resource | tidy -xml -i -

컬 응답을 파일에 저장하기

curl http://hostname/resource >> /path/to/your/file

또는

curl http://hostname/resource -o /path/to/your/file

Curl 명령에 대한 자세한 설명은 다음을 누르십시오.

man curl

Curl 명령의 옵션/스위치에 대한 자세한 내용은 다음을 누르십시오.

curl -h
644
Amith Koujalgi

제 생각에는 Amith Koujalgi가 정확하지만 webservice 응답이 JSON에있는 경우 매우 긴 문자열 대신 깨끗한 JSON 형식으로 결과를 보는 것이 더 유용 할 수 있습니다. 그냥 | grep} | python -mjson.tool을 curl 명령의 끝에 추가하면 다음과 같은 두 가지 예가됩니다.

JSON 결과로 GET 접근법

curl -i -H "Accept: application/json" http://someHostName/someEndpoint | grep }| python -mjson.tool 

POST JSON 결과로 접근

curl -X POST  -H "Accept: Application/json" -H "Content-Type: application/json" http://someHostName/someEndpoint -d '{"id":"IDVALUE","name":"Mike"}' | grep }| python -mjson.tool

enter image description here

50
grepit