cURL로 HTTP 헤더를 보내는 방법: 예제를 포함한 종합 가이드
이 종합 가이드를 통해 cURL을 사용하여 HTTP 헤더를 보내고 받는 방법을 익혀보세요. 예제, 사용자 지정 헤더, 문제 해결 팁을 살펴보세요.
cURL을 사용하여 HTTP 헤더를 전송하는 것은 API나 웹 서비스로 작업하는 모든 사람에게 기본적인 기술입니다. HTTP 헤더는 콘텐츠 유형, 인증 등과 같은 요청에 대한 필수 정보를 전달합니다. HTTP 요청을 만들기 위한 강력한 명령줄 도구인 cURL을 사용하면 이러한 헤더를 손쉽게 사용자 정의하고 전송할 수 있습니다. 이 가이드에서는 실용적인 예제를 다양하게 제공하여 cURL을 사용하여 HTTP 헤더를 전송하는 프로세스를 안내합니다.

필수 조건#
예제를 살펴보기 전에 시스템에 cURL이 설치되어 있는지 확인하세요. 다음을 실행하여 설치 여부를 확인할 수 있습니다:
curl --version
설치되지 않았다면 공식 cURL 웹사이트에서 다운로드할 수 있습니다.
기본 cURL 구문#
cURL을 사용하여 HTTP 요청을 보내는 기본 구문은 다음과 같습니다.
curl [options] [URL]
요청에 HTTP 헤더를 포함하려면 -H 또는 –header 옵션 뒤에 헤더 정보를 사용하면 됩니다.
예제 1: 사용자 정의 헤더가 있는 GET 요청 전송#
와 함께 “Authorization” 헤더를 포함하려고 합니다.
curl -H "Authorization: Bearer YOUR_API_KEY" https://api.example.com/resource
YOUR_API_KEY를 실제 API 키로 바꾸세요.
예제 2: JSON 데이터가 있는 POST 요청 전송#
이 예제에서는 JSON 페이로드와 사용자 정의 콘텐츠 유형 헤더를 포함하여 POST 요청을 전송합니다.
curl -X POST -H "Content-Type: application/json" -d '{"name": "John", "email": "[email protected]"}' https://api.example.com/users
이 명령은 요청 방법을 POST(-X POST)로 지정하고 콘텐츠 유형을 JSON(-H “Content-Type: application/json”)으로 설정하며 -d를 사용하여 JSON 데이터를 포함합니다.
예 3: 여러 헤더 설정#
단일 cURL 요청에 여러 헤더를 포함할 수 있습니다. 여기서는 “Authorization”과 “User-Agent” 헤더를 모두 포함하는 요청을 전송하고 있습니다.
curl -H "Authorization: Bearer YOUR_API_KEY" -H "User-Agent: MyClient/1.0" https://api.example.com/resource
예제 4: 쿠키 전송#
요청과 함께 쿠키를 전송하려면 -b 또는 —cookie 옵션 뒤에 쿠키 데이터를 사용하세요.
curl -b "session=12345; preferences=darkmode" https://api.example.com/dashboard
이 예제는 두 개의 쿠키, “session”과 “preferences”를 전송합니다.
예 5: 리디렉션 따르기#
기본적으로 cURL은 HTTP 리다이렉트를 따르지 않습니다. 리다이렉트 따르기를 활성화하려면 -L 또는 —location 옵션을 사용하세요.
curl -L https://example.com
이 명령은 모든 리다이렉트를 따르고 최종 페이지 콘텐츠를 표시합니다.
예제 6: 사용자 정의 User-Agent 전송#
요청을 식별하기 위해 사용자 정의 User-Agent 헤더를 설정할 수 있습니다.
curl -H "User-Agent: MyCustomApp/1.0" https://api.example.com/resource
특정 User-Agent를 요구하는 API와 상호작용할 때 사용자 정의 User-Agent 헤더가 유용합니다.
예제 7: 데이터 없이 요청 헤더 전송#
요청 본문 없이 헤더를 전송해야 하는 경우 -I 또는 –head 옵션을 사용할 수 있습니다.
curl -I https://api.example.com/resource
이 명령은 HEAD 요청을 전송하며, 실제 콘텐츠가 아닌 헤더만 가져옵니다.
예제 8: 기본 인증 전송#
HTTP 기본 인증 자격증명을 전송하려면 Base64로 인코딩된 사용자명과 비밀번호와 함께 “Authorization” 헤더를 포함할 수 있습니다.
curl -H "Authorization: Basic BASE64_ENCODED_CREDENTIALS" https://api.example.com/resource
BASE64_ENCODED_CREDENTIALS를 Base64로 인코딩된 사용자명과 비밀번호로 바꾸세요(예: username:password).
예제 9: 디버깅 및 상세 모드#
문제 해결 중이거나 HTTP 요청 및 응답을 검사할 때, -v 또는 –verbose 옵션으로 cURL의 상세 모드를 사용할 수 있습니다.
curl -v https://api.example.com/resource
이는 헤더를 포함한 요청 및 응답에 대한 상세한 정보를 표시합니다.
cURL로 HTTP 헤더를 전송하는 것은 웹 서비스 및 API와 작업할 때 필수적인 기술입니다. 이 가이드에서 제공하는 예제들을 통해 요청을 사용자 정의하고, 인증을 처리하며, 쿠키를 전송하는 등 다양한 작업을 수행할 수 있습니다. cURL의 기능에 익숙해지면, 다양한 웹 서비스와 효과적으로 상호작용할 수 있을 것입니다.
