curl은 커맨드 라인용 데이터 전송 도구다. HTTP, HTTPS, FTP, LDAP, SCP, TELNET, SMTP, POP3 등 주요 프로토콜을 지원하고 유닉스와 리눅스, 윈도우 등 주요 운영체제에서 기본 설치되어 사용되고 있다.
REST API를 제공하는 서비스와 연계되는 클라이언트를 개발할 때 서버의 동작을 터미널에서 확인해볼 수 있다.
cURL 주요 옵션 (http/https 관련)
curl 명령의 사용법은 다음과 같다.
$ curl [options...] <url>
특정 URL을 대상으로 동작하며 URL 앞에는 curl의 옵션을 사용하면 된다. curl 명령의 옵션은 GNU getopt를 사용하고 있다. curl 명령의 옵션은 하이픈 하나로 시작하는 short 형식과 하이픈 두개로 시작하는 long 형식을 모두 지원한다.
http, https 프로토콜과 관련된 curl의 옵션은 다음과 같다.
short | long | 설명 |
-k | --insecure | https 프로토콜에서 SSL 인증서에 대한 검증없이 연결 |
-l | --head | HTTP 헤더만 보여주고 컨텐츠는 표시하지 않음 |
-D | --dump-header <file> | HTTP 헤더를 file에 기록 (덤프) |
-L | --location | HTTP 301, 302 응답을 받은 경우 리디렉션 URL로 따라간다. --max-redirs 옵션 뒤에 숫자로 몇 번의 리디렉션까지 따라갈 것인지를 적을 수 있다. 기본 값은 50이다. |
-d | --data | HTTP Post 요청 데이터 입력 |
-v | --verbose | 동작하면서 세세한 내용을 출력 |
-J | --remote-header-name | 헤더에 있는 파일 이름으로 다운로드 파일을 저장 |
-o | --output FILE | curl로 받아온 내용을 FILE 이라는 이름의 파일로 저장 |
-O | --remote-name | 파일 저장시 리모트에 저장되어 있던 이름을 그대로 가져와서 로컬에 저장 |
-s | --silent | 진행 내용이나 메시지들을 출력하지 않음 |
-X | --request | 요청시 사용할 메소드의 종류 (GET, POST, PUT, PATCH, DELETE) |
상황에 맞게 이런 옵션들을 적당히 사용하면 된다.
관련글
댓글