새로운 curl 명령의 사용법 완전 가이드 (2025년판)
1. 들어가며
curl은 웹 개발 및 서버 관리에서 가장 많이 사용되는 명령줄 HTTP 클라이언트 중 하나입니다. 저는 실무에서 다양한 API를 다루면서 curl의 강력한 기능을 자주 활용하게 되었습니다. 이번 글에서는 최신 curl 버전(8.12.1 기준)을 기반으로 기본적인 사용법부터 고급 옵션까지 상세히 설명하겠습니다.
2. curl의 발음
많은 분들이 curl의 발음을 헷갈려하시는데, 공식적인 발음은 /kʌrl/ (/kɜrl/) 입니다. 즉, '컬'에 가깝습니다.
3. curl 최신 버전 다운로드
curl 최신 버전은 공식 사이트에서 확인할 수 있습니다:
https://curl.se/download.html
각 운영체제(OS)에 맞는 패키지를 설치하면 됩니다.
3.1 리눅스 (Ubuntu, Debian)
sudo apt update && sudo apt install curl
3.2 macOS (Homebrew 사용)
brew install curl
3.3 Windows
choco install curl
4. curl의 주요 기능
4.1 기본적인 GET 요청
curl https://example.com
4.2 URL 인코딩된 데이터를 전송하는 방법
curl --data-urlencode "key=value" https://example.com
4.3 JSON 데이터를 포함한 POST 요청
curl -X POST https://api.example.com/data \
-H "Content-Type: application/json" \
-d '{"name":"John","age":30}'
4.4 파일 업로드 (-T 옵션)
curl -X PUT -T myfile.txt https://example.com/upload
4.5 응답 헤더 확인 (-i 옵션)
curl -i https://example.com
5. 고급 옵션
5.1 -o / -O 옵션을 사용한 파일 다운로드
-o 옵션을 사용하면 원하는 파일 이름으로 저장할 수 있습니다.
curl -o output.html https://example.com
-O 옵션을 사용하면 서버에서 제공하는 파일 이름 그대로 저장됩니다.
curl -O https://example.com/file.zip
5.2 -k (--insecure) 옵션을 사용한 SSL 인증서 무시 (주의!)
curl -k https://self-signed.example.com
SSL 인증서가 검증되지 않은 서버에 접속할 때 사용하지만, 보안적으로 위험할 수 있으므로 가급적 사용을 피하는 것이 좋습니다.
5.3 API 인증을 위한 OAuth 2.0 Bearer 토큰 사용
curl -H "Authorization: Bearer YOUR_ACCESS_TOKEN" https://api.example.com
6. 디버깅 및 문제 해결
6.1 -v (--verbose) 옵션
curl -v https://example.com
6.2 --trace 및 --trace-ascii 옵션
curl --trace trace.log https://example.com
이 옵션을 사용하면 curl이 보내는 요청과 받는 응답을 로그 파일에 저장할 수 있습니다.
6.3 --dump-header 옵션을 사용한 응답 헤더 확인
curl --dump-header headers.txt https://example.com
7. RESTful API와 함께 사용하기
7.1 JSON 데이터 전송
curl --json '{"key":"value"}' https://api.example.com
7.2 DELETE 요청
curl -X DELETE https://api.example.com/resource/123
8. 마무리
curl은 간단한 HTTP 요청뿐만 아니라 다양한 프로토콜을 지원하는 강력한 도구입니다. 이 글에서 소개한 내용을 바탕으로 실무에서 curl을 더욱 효과적으로 활용해 보시기 바랍니다.
Comments
Post a Comment