일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- mssql
- network
- SQL
- 오블완
- Javascript
- Linux
- 리눅스
- DBMS
- 트랜잭션
- MariaDB
- group by
- oracle
- git
- JPA
- top
- 자바
- MongoDB
- 티스토리챌린지
- IntelliJ
- analytics4
- java
- Python
- spring
- rsync
- mysql
- 차이점
- PostgreSQL
- API
- 명령어
- docker
- Today
- Total
hanker
Linux - curl 명령어 (API 호출, 파일 다운로드, 서버 간 데이터 전송) 본문
이번 글에서는 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 호출, 파일 다운로드, 서버 간 데이터 전송 등을 자동화하기 위해 많이 사용된다.
끝.
'SERVER > Linux' 카테고리의 다른 글
Linux - man 명령어 (명령어의 사용 설명서) (0) | 2025.01.26 |
---|---|
Linux - tail 명령어 (시스템 로그, 실시간 로그 모니터링에 사용되는 명령어) (0) | 2025.01.24 |
Linux - du 명령어 (파일과 디렉토리의 디스크 사용량을 확인하는 명령어) (0) | 2025.01.22 |
Linux - df 명령어 (파일 시스템의 디스크 공간 사용량을 확인하는 명령어) (0) | 2025.01.21 |
Linux - rsync 명령어 (scp 명령어보다 세부적이고 빠르게 파일 복사) (0) | 2025.01.20 |