본문 바로가기

HTTP 요청 → cURL

브라우저 처리

브라우저 개발자 도구나 로그에서 복사한 HTTP 요청 원문(첫 줄·헤더·본문)을 그대로 실행할 수 있는 curl 명령으로 바꿉니다. 경로만 있는 요청은 Host 헤더로 전체 주소를 만듭니다.

사용 전 확인
  • 파일·이미지·문서 처리 도구는 브라우저 안에서 처리되더라도 원본에 개인정보나 민감 정보가 포함될 수 있습니다. 공유·제출 전 원본과 결과를 한 번 더 확인하세요.
도구 실행입력 후 결과 확인
HTTP 요청 → cURL 샘플 실행

버그 보고서나 서버 로그에는 'POST /api/tools HTTP/1.1'로 시작하는 요청 원문이 남는 경우가 많습니다. 이 도구는 그 원문을 읽어 같은 요청을 다시 보낼 수 있는 curl 명령을 만들어, 문제를 터미널에서 바로 재현할 수 있게 합니다.

브라우저 처리
샘플 결과
curl 'https://api.example.com/tools' \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer sample' \
  --data-raw '{"name":"Markdown","note":"it'\''s"}'
자바스크립트가 활성화되면 이 영역이 실제 입력, 실행, 결과 패널로 바뀝니다.

HTTP 요청 → cURL 사용 가이드

버그 보고서나 서버 로그에는 'POST /api/tools HTTP/1.1'로 시작하는 요청 원문이 남는 경우가 많습니다. 이 도구는 그 원문을 읽어 같은 요청을 다시 보낼 수 있는 curl 명령을 만들어, 문제를 터미널에서 바로 재현할 수 있게 합니다.

첫 줄의 메서드와 주소, 헤더 줄, 빈 줄 뒤의 본문을 나눠 읽습니다. 주소가 /search처럼 경로만 있으면 Host 헤더를 붙여 https://주소로 만들고, curl이 알아서 정하는 Host·Content-Length·Connection 헤더는 뺍니다. Accept-Encoding에 gzip이 있으면 --compressed를 붙입니다.

모든 값은 작은따옴표로 감싸고 값 속 작은따옴표는 '\''로 처리해, $나 공백이 든 본문도 셸이 바꾸지 않고 그대로 보냅니다. GET과 본문 있는 POST는 -X를 생략하고, HEAD는 -I로 바꿔 curl의 관례를 따릅니다.

사용 방법

  1. 'HTTP 요청 원문' 칸에 요청 첫 줄, 헤더, 빈 줄, 본문 순서로 붙여 넣습니다.
  2. '실행'을 누르면 줄마다 \로 이어진 curl 명령이 나옵니다.
  3. 터미널(bash·zsh)에 붙여 넣어 요청을 다시 보냅니다.

예시: JSON 본문이 있는 POST 요청

입력
POST https://api.example.com/tools HTTP/1.1
Content-Type: application/json
Authorization: Bearer sample

{"name":"Markdown","note":"it's"}
결과
curl 'https://api.example.com/tools' \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer sample' \
  --data-raw '{"name":"Markdown","note":"it'\''s"}'

본문 속 it's의 작은따옴표는 '\''로 안전하게 처리됐습니다.

이럴 때 쓰면 좋아요

  • 로그에 남은 실패 요청을 터미널에서 그대로 재현할 때
  • 버그 보고서의 요청 원문을 개발자가 바로 실행할 명령으로 바꿀 때
  • 프록시 도구(Fiddler·Charles)에서 복사한 요청을 curl로 옮길 때
  • API 문서에 예시 요청을 curl 명령으로 실을 때

문제가 생겼을 때

'경로만 있는 요청에는 Host 헤더가 필요합니다' 오류

첫 줄이 GET /path처럼 경로만 있는데 Host 헤더가 없습니다. Host: example.com 줄을 추가하거나 첫 줄에 https://까지 전체 주소를 쓰세요.

본문이 빠진 명령이 나옴

헤더와 본문 사이에 빈 줄이 하나 있어야 본문으로 인식합니다. 마지막 헤더 다음에 빈 줄을 넣으세요.

활용 팁

  • Host 헤더의 포트가 :80이면 http://로, 그 밖에는 https://로 주소를 만듭니다. 사내망 http 서버라면 첫 줄에 http://로 전체 주소를 쓰세요.
  • Cookie나 Authorization 헤더에는 로그인 정보가 들어 있으니 결과 명령을 공유하기 전에 값을 지우세요.

자주 묻는 질문

윈도우 명령 프롬프트에서도 실행되나요?

결과는 bash·zsh용 작은따옴표 형식입니다. 윈도우에서는 Git Bash나 WSL에서 실행하거나 PowerShell의 Invoke-WebRequest로 바꿔 써야 합니다.

HTTP/2 요청 원문도 되나요?

첫 줄이 메서드와 주소로 시작하고 헤더가 '이름: 값' 형식이면 됩니다. :authority 같은 가상 헤더는 빼고 붙여 넣으세요.

바이너리 본문도 옮겨지나요?

본문은 글자로 다루므로 이미지 같은 바이너리 본문은 옮길 수 없습니다. 파일 업로드는 curl -F 'file=@파일명'으로 직접 바꾸세요.