cURL(Client URL)은 1997년 출시된 다양한 통신 프로토콜들을 이용하여 URL로 데이터를을 전송하여 서버의 데이터를 보내거나 가져올때 사용하기 위한 명령줄 도구 및 라이브러리로 명령줄이나 스크립트에서 HTTP/S로 GET,POST등으로 데이터(패킷/메시지)를 전송하는 데 사용한다.
예) 자바스크립트 환경에서 REST API(http)를 테스트하고싶다면 보통 ajax, fetch 를 이용해 요청을 보내는 것과 같이,
SHELL(커맨드라인 환경)에서 REST API(http) 테스트 하고 싶으면 curl 명령어를 이용하면 된다라고 보면 된다.
이밖에 HTTP / HTTPS / FTP / LDAP / SCP / TELNET / SMTP / POP3 등 다양하고 주요한 프로토콜을 지원하며 Linux/Unix계열 및 Windows 등의 OS에서 구동됨으로 여러 플랫폼과 OS에서 유용하게 사용할 수 있다. 이렇게 다양하고 강력한 기능을 가진 옵션들을 제공하지만, 보통 특정 서버에서 빠르게 방화벽 예외 상태를 테스트 하거나, REST 서비스 테스트를 위해 사용되는 편이다.
* cURL설치 방법
- 우분투 설치 명령
# apt-get install curl
* OS플랫폼별 cURL 바이너리 다운로드 ( Linux, Window, MacOS 등)
- https://curl.haxx.se/download.html
* cURL의 주요 옵션
-O : 파일 다운로드 (ex : curl -O http://해당경로)
-i : 헤더값 확인
-A : 에이전트 추가
-I : 사이트의 Header와 바디 정보를 함께 가져오기
-v : request, response 어떻게 오가는지 상세로그 확인 (헤더, 바디)
-k : https 사이트를 SSL certificate 검증없이 연결.
-s : 정숙 모드. 진행 내역이나 메시지등을 출력하지 않음.
-H : 헤더 설정. 헤더 정보 전달
-h : 옵션 보기
-d : HTTP Post data (FORM 을 POST 하는 HTTP나 JSON 으로 데이타를 주고받는 REST 기반의 웹서비스 디버깅시 유용한 옵션)
2.7.3.달 상태 조회
3.2.2.curl
[참조사이트]