https://curl.se/

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 기반의 웹서비스 디버깅시 유용한 옵션)

 

1.Curl (Client URL)

  1.1.Curl 설치

     1.1.1.리눅스
     1.1.2.윈도우

     1.1.3.curl 버전 확인

  2.1.Curl 명령어 옵션

     2.2.1.GET  요청
     2.2.2.POST  요청

     2.2.3.PUT  요청

     2.2.4.DELETE  요청
     2.3.1.헤더 보기
     2.3.3.Referer 지정
     2.3.4.User Agent 지정
     2.4.1.자격증명 전달
     2.4.2.프록시 인증
     2.5.1.파일 업로드
     2.6.1.SMTP로 메일 전송
     2.7.1.내 공인 IP 조회
     2.7.2.날씨 조회

     2.7.3.달 상태 조회

  3.1.wget / curl 공통점

     3.2.1.wget

     3.2.2.curl

 

 

[참조사이트]

https://inpa.tistory.com/entry/LINUX-%F0%9F%93%9A-CURL-%EB%AA%85%EB%A0%B9%EC%96%B4-%EC%82%AC%EC%9A%A9%EB%B2%95-%EB%8B%A4%EC%96%91%ED%95%9C-%EC%98%88%EC%A0%9C%EB%A1%9C-%EC%A0%95%EB%A6%AC#%E2%80%8Bdelete__%EC%9A%94%EC%B2%AD

 

🐧 CURL 명령어 사용법 💯 완전 총정리

Curl (Client URL) curl(client url) 명령어는 프로토콜들을 이용해 URL 로 데이터를 전송하여 서버에 데이터를 보내거나 가져올때 사용하기 위한 명령줄 도구 및 라이브러리이다. 쉽게말해 예를들어 자바

inpa.tistory.com

 

+ Recent posts