cURL 명령어 모음 (cURL Cheat Sheet)
cURL 명령어 (cURL Cheat Sheet) 정보입니다. cURL은 데이터를 전송하거나 웹 요청을 수행하기 위한 강력한 명령줄 도구입니다. HTTP 요청을 비롯해 FTP, SMTP 등 다양한 프로토콜을 지원합니다. cURL Cheat Sheet는 주요 명령과 옵션들을 간단히 정리한 것입니다.
Table of Contents
cURL 명령어 모음 (cURL Cheat Sheet)
https://www.stationx.net/curl-cheat-sheet

개발자나 서버 관리자, API를 다루는 사람이라면 한 번쯤 cURL이라는 도구를 들어봤을 것입니다. cURL은 명령어 기반으로 웹 서버와 데이터를 주고받을 수 있는 매우 강력한 도구입니다. 특히 API 테스트, 서버 상태 확인, 파일 다운로드 등 다양한 작업을 빠르게 수행할 수 있어 개발 환경에서 필수적인 도구로 평가됩니다.
하지만 cURL은 옵션이 많고 명령어가 길어지기 쉬워 초보자에게는 다소 어렵게 느껴질 수 있습니다. 이런 문제를 해결해주는 것이 바로 cURL Cheat Sheet입니다. Cheat Sheet는 자주 사용하는 명령어와 옵션을 정리해 놓은 요약 자료로, 개발자들이 빠르게 필요한 기능을 찾고 활용할 수 있도록 도와줍니다.
cURL Cheat Sheet란
cURL Cheat Sheet는 자주 사용하는 cURL 명령어와 옵션을 정리한 참고 문서입니다.
cURL은 수십 개 이상의 옵션을 제공하기 때문에 매번 문서를 찾아보는 것이 번거로울 수 있습니다. Cheat Sheet는 다음과 같은 장점이 있습니다.
- 자주 쓰는 명령어를 빠르게 확인 가능
- 옵션 사용법을 간단하게 이해 가능
- API 테스트 속도 향상
- 서버 디버깅 효율 증가
특히 개발자나 DevOps 엔지니어는 Cheat Sheet를 옆에 두고 작업하면 생산성이 크게 향상됩니다.
cURL 명령어 소개
cURL은 Command Line URL의 약자로, 명령어 기반에서 다양한 프로토콜을 사용해 데이터를 전송하거나 다운로드할 수 있는 도구입니다.
명령줄 애플리케이션인 curl(cURL, “클라이언트 URL”의 줄임말)을 사용하면 추가 프로그래밍 언어 없이 유닉스 bash 스크립팅 만으로 수천 개의 Google Forms 제출, 침투 테스트에서 서버에 대량 요청 전송, 원격 파일 자동 접근과 같은 일괄 작업을 자동화할 수 있습니다 .
지원하는 대표적인 프로토콜은 다음과 같습니다.
- HTTP / HTTPS
- FTP / FTPS
- SCP
- SFTP
- LDAP
- SMTP
즉, 웹 서버뿐만 아니라 다양한 네트워크 서비스와 통신할 수 있는 범용 데이터 전송 도구입니다.
특히 개발자들이 REST API 테스트를 할 때 매우 자주 사용합니다. 브라우저나 별도의 프로그램 없이도 명령어 한 줄로 API 요청을 보낼 수 있기 때문입니다.
웹 브라우징
curl의 가장 간단한 사용법은 웹사이트와 파일을 명령줄에 표시하는 것이며, 대부분의 컴퓨터 과학 학생들이 curl을 처음 배우는 방식도 바로 이것입니다.
curl 옵션( 플래그 라고도 함 )은 하이픈(-) 하나 또는 두 개(–)로 시작하며, 문자열, URL 또는 파일 경로인 인수를 받습니다.
파일 다운로드
아래 명령어들은 웹사이트에서 콘텐츠를 추출할 때 유용합니다. 작성 시점을 기준으로 아래 명령어들은 의미 있는 결과를 반환합니다. 필요에 따라 매개변수를 변경하십시오.
curl GET 명령어
curl을 사용하여 GET 요청을 보내려면 다음 명령어를 사용하십시오. curl GET 명령어는 플래그를 통해 인증 키를 전달해야 할 수도 있습니다 --header.
curl과 적절한 플래그를 사용하면 PUT 및 DELETE와 같은 다른 HTTP 요청 도 수행할 수 있습니다 .
CompTIA Linux+ 바우처
Linux 실력을 저렴하게 검증받으세요. StationX의 공식 CompTIA 제휴 프로그램을 통해 CompTIA Linux+ 바우처를 구매하고 시험 비용을 최대 30%까지 절약하세요.
| 명령 | 설명 |
|---|---|
curl --request GET "http://example.com" | URL http://example.com/ 의 HTML 소스를 가져와 터미널 콘솔에 출력합니다. |
curl -X | 약어curl --request |
curl --request GET 'https://us-east-1.aws.data.mongodb-api.com/app/viewdata-kqgls/endpoint/view?secret=ZAEOuvuEVLF5ll3kGP8FFkAj1GMKB8xu1jRx5D7210gXiZHa5agdbSq8pzbpI8Lo' --header 'Content-Type: application/json' | viewdata-kqgls지정된 비밀 문자열과 콘텐츠 유형 헤더를 쿼리 매개변수로 사용하여 앱 의 모든 MongoDB 문서를 가져옵니다 .예상 결과는 모든 문서가 포함된 JSON 객체입니다. (해당 URL은 제가 MongoDB에 만든 사용자 지정 API 엔드포인트 입니다 .) |
curl --request GET 'https://us-east-1.aws.data.mongodb-api.com/app/viewdata-kqgls/endpoint/view?secret=ZAEOuvuEVLF5ll3kGP8FFkAj1GMKB8xu1jRx5D7210gXiZHa5agdbSq8pzbpI8Lo&id=636b5046e54ce11139fd8b96' --header 'Content-Type: application/json' | viewdata-kqgls지정된 ID, 비밀 문자열 및 콘텐츠 유형 헤더를 쿼리 매개변수로 사용하여 앱 에서 MongoDB 문서를 가져옵니다 .예상 결과는 문서가 존재하는 경우 해당 문서입니다. {"_id":"636b5046e54ce11139fd8b96","name":"Alice Bob","age":25,"greeting":"Greetings, everyone."} |
curl POST 명령어
curl을 사용하여 POST 요청을 보내려면 다음 명령어를 사용하십시오. curl의 POST 명령어에는 --header인증 키를 전달하기 위한 플래그가 필요할 수 있습니다.
curl과 적절한 플래그를 사용하면 PUT 및 DELETE와 같은 다른 HTTP 요청 도 수행할 수 있습니다 .
정보 보안 교육 과정 패키지
전문가가 진행하는 사이버 보안 교육을 평생 이용하고 싶으신가요? 윤리적 해킹, 클라우드, Linux, DevSecOps, CompTIA 자격증 등 주요 주제를 다루는 정보 보안 교육 패키지를 살펴보세요 . 한 번 구매로 모든 과정을 수강할 수 있습니다.
| 명령 | 설명 |
|---|---|
curl --header | 서버 URL에 헤더를 전달합니다. |
curl -H | 약어curl --header |
curl --request POST "http://example.com" -d 'some data' | URL http://example.com/ 의 HTML 소스를 가져옵니다. |
curl -X | 약어curl --request |
curl --request POST 'https://data.mongodb-api.com/app/data-meetp/endpoint/data/v1/action/insertOne' --header 'Content-Type: application/json' --header 'api-key: ZAEOuvuEVLF5ll3kGP8FFkAj1GMKB8xu1jRx5D7210gXiZHa5agdbSq8pzbpI8Lo' --data-raw '{"dataSource": "Cluster0","database": "curlhacks","collection": "curlhacks","document": { "name": "Alice Bob", "age": 25, "greeting": "Greetings, everyone." }}' | MongoDB 데이터 API를 통해 주어진 JavaScript 객체를 지정된 ID를 가진 데이터베이스와 컬렉션에 업로드합니다 curlhacks.예상 출력은 다음과 같습니다. {"insertedId":"636b5046e54ce11139fd8b96"}이는 curlhacks 새 JavaScript 객체가 지정된 ID를 가진 MongoDB 문서로 등록되었음을 의미합니다. |
curl --request POST 'https://data.mongodb-api.com/app/data-meetp/endpoint/data/v1/action/findOne' --header 'Content-Type: application/json' --header 'api-key: ZAEOuvuEVLF5ll3kGP8FFkAj1GMKB8xu1jRx5D7210gXiZHa5agdbSq8pzbpI8Lo' --data-raw '{"dataSource": "Cluster0","database": "curlhacks","collection": "curlhacks","filter": { "name": "Alice Bob" }}' | MongoDB 데이터 API를 통해 이름이 인 데이터베이스와 컬렉션 curlhacks에서 키-값 쌍을 가진 문서를 조회합니다 {"name": "Alice Bob"}.예상 출력은 요청한 문서입니다. {"document":{"_id":"636b5046e54ce11139fd8b96","name":"Alice Bob","age":25,"greeting":"Greetings, everyone."}} |
curl --request POST 'https://data.mongodb-api.com/app/data-meetp/endpoint/data/v1/action/deleteOne' --header 'Content-Type: application/json' --header 'api-key: ZAEOuvuEVLF5ll3kGP8FFkAj1GMKB8xu1jRx5D7210gXiZHa5agdbSq8pzbpI8Lo' --data-raw '{"dataSource": "Cluster0","database": "curlhacks","collection": "curlhacks","filter": { "_id": { "$oid": "636b4f88fd82bd55d90962c6" } }}' | MongoDB 데이터 API를 사용하여 지정된 ID를 가진 문서를 데이터베이스와 컬렉션(둘 다 이름이 동일함)에서 삭제합니다 curlhacks.예상 출력: {"deletedCount":1}이는 curlhacks 지정된 문서가 MongoDB에서 삭제되었음을 의미합니다. |
쿠키
대상 웹사이트에 쿠키를 전송하는 것만으로는 웹사이트의 HTML 레이아웃에 영향을 미치지 않는 것으로 보입니다. 그럼에도 불구하고 curl은 다음과 같은 메서드를 지원합니다.
| 명령 | 설명 |
|---|---|
curl --cookie "registered=yes" | "registered=yes"쿠키로 전송 |
curl --cookie "name=alice;email=test@myemail.com" | “name=alice”를 "email=test@myemail.com"쿠키로 전송합니다. |
curl --cookie import_cookies.txt | 내용을 import_cookies.txt쿠키로 전송하세요.대부분의 브라우저에서 더 이상 “Set-Cookie:”접두사를 지원하지 않으므로 파일에 쿠키를 다음과 같은 형식으로 저장하세요.key1=value1;key2=value2 |
curl -b | 약어--cookie |
curl --cookie-jar mycookies.txt | mycookies.txt다른 플래그에 대해 curl 작업을 실행한 후 쿠키를 기록합니다. |
curl -c | 약어--cookie-jar |
curl --dump-header headers_and_cookies.txt http://example.com | http://example.com 의 HTTP 헤더와 쿠키 데이터를 출력합니다 .headers_and_cookies.txt |
curl -D | 약어curl --dump-header |
이상입니다.
[다른글]







