개발 관련/Server

cURL(Client URL) 완벽 가이드

magpiebros 2025. 2. 6. 20:09
반응형

cURL이란? 완벽 가이드 (정의, 사용법, 예제까지)

cURL은 "Client URL"의 약자로, 다양한 프로토콜을 사용하여 데이터를 전송할 수 있는 강력한 명령줄 도구입니다. 주로 HTTP 요청을 보내거나, 웹 서버와 통신할 때 사용되며, 개발자와 서버 관리자들 사이에서 매우 인기 있는 툴입니다.

 

1. cURL의 정의

cURL (Client URL): 명령줄 또는 스크립트에서 HTTP, FTP, SMTP, LDAP 등 다양한 프로토콜을 사용하여 데이터를 송수신할 수 있는 도구입니다.

주요 특징:

  • 다양한 프로토콜 지원: HTTP, HTTPS, FTP, FTPS, SCP, SFTP, LDAP, SMTP 등
  • 자동화에 적합: 스크립트와 함께 사용하기 쉬움
  • 플랫폼 호환성: Windows, macOS, Linux 등 대부분의 OS 지원

 

2. cURL 설치 방법

리눅스/우분투

sudo apt update
sudo apt install curl

macOS (Homebrew 사용)

brew install curl

윈도우 (Chocolatey 사용)

choco install curl

설치 확인

curl --version

 

3. cURL 기본 사용법

1) GET 요청 보내기 (기본 요청)

curl https://www.example.com

2) HTTP 헤더 정보만 확인하기

curl -I https://www.example.com

3) POST 요청 보내기 (데이터 전송)

curl -X POST -d "username=test&password=1234" https://www.example.com/login

4) 파일 다운로드하기

curl -O https://www.example.com/file.zip

5) 파일 업로드하기 (FTP 서버로 전송)

curl -T file.txt ftp://ftp.example.com/ --user username:password

 

4. 고급 사용법 (API 테스트 & 보안)

1) REST API 테스트하기 (JSON 데이터 전송)

curl -X POST https://api.example.com/data -H "Content-Type: application/json" -d '{"name": "John", "age": 30}'

2) 인증이 필요한 API 요청 (Bearer Token 사용)

curl -H "Authorization: Bearer YOUR_ACCESS_TOKEN" https://api.example.com/user

3) SSL 인증서 무시하고 요청 보내기 (보안 예외 처리)

curl -k https://self-signed.badssl.com/

 

5. cURL 자주 사용하는 옵션 요약

 

옵션설명예제

-I 헤더 정보만 출력 curl -I https://www.example.com
-X HTTP 메서드 지정 (POST, PUT 등) curl -X POST https://api.example.com
-d 데이터 전송 (POST 요청에 사용) curl -d "key=value" https://example.com
-H HTTP 헤더 추가 curl -H "Content-Type: application/json"
-O 파일 다운로드 curl -O https://example.com/file.zip
-T 파일 업로드 curl -T file.txt ftp://ftp.example.com
-k SSL 인증서 검증 무시 curl -k https://example.com

 

마무리

cURL은 단순한 HTTP 요청 도구를 넘어, API 테스트, 자동화 스크립트, 서버 모니터링 등 다양한 용도로 활용할 수 있는 필수 도구입니다. 기본적인 GET/POST 요청뿐만 아니라 인증, 파일 전송, API 호출 등에도 유용하므로, 개발자라면 꼭 익혀두세요.

 

반응형