hanker

Linux - curl 명령어 (API 호출, 파일 다운로드, 서버 간 데이터 전송) 본문

SERVER/Linux

Linux - curl 명령어 (API 호출, 파일 다운로드, 서버 간 데이터 전송)

hanker 2025. 1. 23. 00:00
반응형

이번 글에서는 CLI환경의 명령줄에서 데이터를 전송하거나 받아오는 데 사용되는 curl 명령어에 대해서 알아보자!

 


1. 기본 사용법

 

# curl [옵션] [URL]
curl https://example.com

- [옵션] 생략가능

- 지정된 URL의 내용을 터미널에 출력해준다.

 


2. 주요 옵션

 

옵션 설명
-X, --request HTTP 메서드를 지정한다. 기본값은 GET
-H, --header 요청에 포함할 헤더를 설정
-d, --data HTTP POST 요청 시 전송할 데이터를 지정. 이 옵션을 사용하면 자동으로 POST 메서드로 전송된다.
-i, --include 응답에 HTTP 헤더를 포함하여 출력
-o, --output 응답 결과를 지정한 파일로 저장
-O, --remote-name 응답 결과를 원격 서버의 파일 이름으로 저장
-L, --location 서버의 리다이렉션 응답(3xx)을 따라간다.
-u, --user 서버 인증을 위해 사용자 이름과 비밀번호를 지정
-k, --insecure SSL 인증서 검증을 생략하고 요청을 전송한다.
-v, --verbose 요청과 응답에 대한 상세한 정보를 출력

 

 


3. 사용 예제

 

3-1. 파일 다운로드

curl -o myfile.txt https://example.com/file.txt

- -o 옵션을 사용하여 URL경로에서 다운로드 받은 파일을 myfile.txt라는 이름으로 저장한다.

 

 

3-2. 원래 이름으로 파일 저장

curl -O https://example.com/file.txt

- -O 옵션을 사용하여 URL의 파일 이름으로 저장한다.

 

 

3-3. HTTP 헤더 정보만 출력

curl -I https://example.com

- -I 옵션을 사용하여 URL의 HTTP 헤더 정보만 출력한다(웹 서버의 상태나 설정을 확인할 때 많이 사용)

 

 

3-4. 데이터 POST 요청

curl -X POST -d "username=user&password=pass" https://example.com/login

- -X POST는 HTTP메서드를 POST로 지정하고, -d 옵션은 POST 요청으로 username과 passowrd를 전송한다.

 

 

3-5. 사용자 정의 헤더 추가

curl -H "Authorization: Bearer your_token" https://api.example.com/data

- -H 옵션으로 API 호출 시 필요한 인증 토큰을 추가해서 전송한다.

 

 

3-6. 리다이렉션 따라가기

curl -L https://example.com

- -L 옵션을 사용하여 URL이 리다이렉션되는 경우, 자동으로 따라가게 설정한다.

 

 

3-7. JSON 데이터 전송

curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' https://api.example.com

- -H 옵션과 -d 옵션을 사용하여 JSON 형식의 데이터를 전송한다.

 

 

* 주로 사용하는 경우는 REST API 테스트, 파일 다운로드, 웹 사이트의 상태확인, 스크립트 자동화 에 많이 사용된다.


정리

 

curl 명령어는 HTTP, HTTPS, FTP 등의 프로토콜을 지원하며, 웹 요청을 만들고 응답을 받을 수 있게 해준다.

개발자와 시스템 관리자들이 API 호출, 파일 다운로드, 서버 간 데이터 전송 등을 자동화하기 위해 많이 사용된다.

 

 

끝.

반응형