cURL 이란?

moon-dad·2024년 2월 16일

curl(컬)은 다양한 통신 프로토콜을 이용하여 데이터를 전송하기 위한 명령줄(CLI) 도구입니다. 주로 HTTP, HTTPS, FTP 등의 프로토콜을 사용하여 데이터를 전송하고 받는데 사용됩니다.

주요 기능

  1. 데이터 전송: POST/GET/PUT/DELETE 등의 HTTP 메서드를 사용하여 데이터를 전송할 수 있습니다.

  2. FTP, SFTP 등의 프로토콜을 사용하여 파일을 업로드하거나 다운로드할 수 있습니다.

  3. 다양한 인증 방식을 지원합니다. 사용자 이름과 비밀번호를 사용하여 인증하거나, 토큰 기반 인증을 사용할 수도 있습니다.

  4. 다양한 옵션을 사용하여 데이터 전송을 세부적으로 제어할 수 있습니다. 예를 들어, 타임아웃 설정, 헤더 추가, 쿠키 사용 등의 옵션을 설정할 수 있습니다.

사용법

  1. 에러: curl 은 기본적으로 https 사이트의 SSL 인증서를 검증한다. 인증 기관의 인증서 목록이 없거나 모르는 기관에서 발급한 인증서일 경우 다음과 같은 인증서 검증 에러를 발생시키고 동작을 중지하게 된다. 검증을 하지 않는 옵션인 -k(--insecure) 옵션을 주고 curl 을 구동하면 된다.
cURL error 60: SSL certificate problem: unable to get local issuer certificate
  1. 기본요청: 웹사이트 요청, 페이지가 리턴 됨.
    --request(-X) {메소드}, 만약 사용하지 않으면 GET이 기본이다.
curl https://httpbin.org
curl -X GET https://httpbin.org
  1. 데이터 전달: --data(-d) , POST 메소드로 전달된다.
curl -d "foo=bar" https://httpbin.org/post
curl -X POST -d "foo=bar" https://httpbin.org/post
  1. PUT(update시 사용), DELETE(삭제시 사용)
curl -X PUT -d "foo=bar" https://httpbin.org/put
curl -X DELETE https://httpbin.org/delete
  1. 응답값을 파일로 저장하려면 --output(-o)
curl https://httpbin.org/get -o result.txt
  1. header 정보를 추가하여 요청할때 --header(-H)
curl "https://openapi.naver.com/v1/util/shorturl" \
    -d "url=http://d2.naver.com/helloworld/4874130" \
    -H "Content-Type: application/x-www-form-urlencoded; charset=UTF-8" \
    -H "X-Naver-Client-Id: {애플리케이션 등록 시 발급받은 클라이언트 아이디 값}" \
    -H "X-Naver-Client-Secret: {애플리케이션 등록 시 발급받은 클라이언트 시크릿 값}" -v
  1. 그외
--verbose(-v)	동작하면서 세세한 내용을 출력
--silent(-s)	진행 내용이나 메시지들을 출력하지 않음
--location(-L)	HTTP 301, 302 응답을 받은 경우 리다이렉션 URL로 따라간다.

windows 에 curl 설치하기
1. https://curl.se/windows/ 에서 압축파일을 다운로드하여 압축을 푼다.
2. 압축 푼 파일의 bin 폴더를 환경변수 path에 추가 한다. (bin폴더에 있는 curl.exe 를 C:\Windows에 복사해도 된다. 관리자 권한으로 실행)
3. 명령 프롬프트에서 실행해 본다.

curl --version
profile
나는 아무것도 아닙니다.

0개의 댓글