yngmanie 블로그

curl이란?

해당 포스트는 위키피디아 cURL의 일부를 번역하여 작성하였습니다. 잘못된 부분이 있다면 댓글 부탁드립니다.

curl은 url문법을 사용해서 데이터를 주고받는 cli 툴입니다.

curl이 libcurl을 사용하기 때문에, 일반적인 네트워크 프로토콜을 사용할 수 있습니다. 사용가능한 프로토콜은 HTTP, HTTPS, FTP, FTPS, SCP, SFTP, TFTP, LDAP, DAP, DICT, TELNET, FILE, IMAP, POP3, SMTP and RTSP 입니다. (FILE, IMAP, POP3, SMTP and RTSP은 ver7.20 혹은 2010.2.0일 이후 버전에서만 사용 가능합니다.)

curl은 보안 프로토콜이 지정된 경우 기본적으로 HTTPS를 지원하고 SSL 인증을 수행합니다. cURL이 HTTPS를 통해 서버와 연결되어 있을 때 서버 인증을 획득하고, 그런 다음 CA 인증서 저장소에 대해 원격 서버의 유효성을 검사하여 원격 서버가 자신이 요청한 서버인지 확인합니다. curl 패키지중 일부는 CA 인증서 스토어에 번들되어있습니다. –cacert 와 –capath와 같이 CA 인증서를 선택하는 옵션이 있습니다. –cacert 옵션을 사용하여 CA 인증서 파일을 저장할 위치를 지정할 수 있습니다. 윈도우 플랫폼에서 CA 인증서 파일이 지정되어 있지 않으면, crul은 아래에 순서와 같이 “curl-ca-bundle.crt” CA 인증서 파일을 찾을 겁니다.

  1. curl 프로그램이 위치한 디렉토리
  2. 현재 작업중인 디렉토리
  3. 윈도우 시스템 디렉토리
  4. 윈도우 디렉토리
  5. Path 환경 변수에 지정된 디렉토리

서버가 원격서버가 self-signed 인증서를 사용하고 있거나 인증서가 CA 인증서 파일 CA에 의한 인증되지 않았다면 curl은 에러를 리틴합니다. -k 혹은 –insecure 옵션은 인증서 확인을 통해 생략될 수 있습니다. 또는 원격 서버를 신뢰할 수 있다면 원격 서버 CA 인증서는 CA 인증서 스토어 파일에 추가할 수 있습니다.