[Linux] curl 명령어 / curl 사용법 / HTTP GET POST REST API 연계
2022. 2. 3. 22:29
반응형
curl이란?
Client URL
서버와 통신할 수 있는 커맨드 명령어 툴입니다. curl의 특징은 수많은 프로토콜을 지원합니다.
지원하는 프로토콜
DICT, FILE, FTP, FTPS, Gopher, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMB, SMBS, SMTP, SMTPS, Telnet, TFTP
SSL 인증방식 역시 가능하다.
curl 사용법
$ curl [options] [URL...]
-k | --insecure | https 사이트를 SSL certificate 검증없이 연결한다. | wget 의 --no-check-certificate 과 비슷한 역할 수행 |
-l | --head | HTTP header 만 보여주고 content 는 표시하지 않는다. | |
-D | --dump-header <file> | <file> 에 HTTP header 를 기록한다. | |
-L | --location | 서버에서 HTTP 301 이나 HTTP 302 응답이 왔을 경우 redirection URL 로 따라간다. --max-redirs 뒤에 숫자로 redirection 을 몇 번 따라갈지 지정할 수 있다. 기본 값은 50이다 |
curl -v daum.net 을 실행하면 결과값으로 다음과 같이 HTTP 302 가 리턴된다. < HTTP/1.1 302 Object Moved < Location: http://www.daum.net/ -L 옵션을 추가하면 www.daum.net 으로 재접속하여 결과를 받아오게 된다. |
-d | --data | HTTP Post data | FORM 을 POST 하는 HTTP나 JSON 으로 데이타를 주고받는 REST 기반의 웹서비스 디버깅시 유용한 옵션이다 |
-v | --verbose | 동작하면서 자세한 옵션을 출력한다. | |
-J | --remote-header-name | 어떤 웹서비스는 파일 다운로드시 Content-Disposition Header를 파싱해야 정확한 파일이름을 알 수 있을 경우가 있다. -J 옵션을 주면 헤더에 있는 파일 이름으로 저장한다. | curl 7.20 이상부터 추가된 옵션 |
-o | --output FILE | curl 은 remote 에서 받아온 데이타를 기본적으로는 콘솔에 출력한다. -o 옵션 뒤에 FILE 을 적어주면 해당 FILE 로 저장한다. (download 시 유용) | |
-O | --remote-name | file 저장시 remote 의 file 이름으로 저장한다. -o 옵션보다 편리하다. | |
-s | --silent | 정숙 모드. 진행 내역이나 메시지등을 출력하지 않는다. -o 옵션으로 remote data 도 /dev/null 로 보내면 결과물도 출력되지 않는다 | HTTP response code 만 가져오거나 할 경우 유리 |
> 옵션없이 호출할 경우 curl은 지정된 리소스를 표준 출력에 표시합니다.
예를 들어 example.com 홈페이지를 검색하려면 다음을 실행하고
$ curl example.com
이 명령어는 터미널창에 example.com 홈페이지의 소스코드를 출력합니다.
프로토콜을 지정하지 않은 경우, curl은 사용할 프로토콜을 추측하려고 시도하며 이 프로토콜은 HTTP로 기본
설치방법
Ubuntu 및 Debian에 curl 설치
$ sudo apt update
$ sudo apt install curl
CentOS 및 Fedora에 curl 설치
$ sudo yum install curl
출처
https://jjeongil.tistory.com/1313
728x90
반응형
'programming language > Linux' 카테고리의 다른 글
[Linux] scp 명령어 파일 전송 프로토콜 (0) | 2022.03.28 |
---|---|
[Linux] ps 명령어 / kill 명령어 / 프로세스 확인 및 죽이기 / 프로세스 일괄 종료 / kill process (0) | 2021.10.30 |
Written by ner.o
개발자 네로의 개발 일기,
자바를 좋아합니다 !
댓글 개