curl
터미널에서 단건 HTTP 요청을 재현하고 응답 헤더·본문을 확인합니다.
설치 여부 확인 후 필요할 때만 설치실습 범위
이 사이트의 정상 요청 관찰부터 시작해 해당 도구 가이드에서 지정한 교육용 문제에만 적용하세요. 정상 요청을 먼저 기록하고 한 번에 입력 하나만 바꿔 보세요. 토큰·쿠키·FLAG 원문은 외부 도구나 공개 문서에 올리지 마세요.
설치·준비
curl 공식 다운로드 ↗ 설치 파일은 공식 제공처에서만 내려받으세요.
1. 설치 여부 확인
Windows PowerShell에서는 curl.exe --version, macOS/Linux 터미널에서는 curl --version을 실행하세요. 버전과 지원 프로토콜이 출력되면 추가 설치가 필요 없습니다. Windows에서는 curl.exe라고 명시하면 PowerShell의 다른 curl 명령/별칭과 혼동을 줄일 수 있습니다.
2. 없는 경우에만 내려받기
curl 공식 다운로드 페이지의 운영체제별 안내를 확인하세요. Windows는 해당 페이지가 안내하는 제공자를 통해 자신의 CPU에 맞는 실행 파일을 받고, macOS/Linux는 운영체제 패키지 관리자가 제공하는 curl을 사용할 수 있습니다. 설치 후 새 터미널에서 버전을 다시 확인하세요.
처음부터 따라 하기
- 01
GET과 응답 헤더 보기
PowerShell에서 아래 명령을 한 줄로 실행합니다. -i는 상태 줄·응답 헤더와 본문을 함께 출력합니다. macOS/Linux에서는 curl.exe 대신 curl을 쓰세요.
curl.exe -i "https://rokseclab.kr/api/web/basics/http?sample=hello%20world" - 02
POST 본문 보내기
--data-urlencode는 값의 공백과 특수문자를 폼 형식에 맞게 인코딩하고 POST 본문을 만듭니다. JSON 응답의 method와 body 값을 확인하세요.
curl.exe -i --data-urlencode "sample=hello world" "https://rokseclab.kr/api/web/basics/http" - 03
쿠키 재사용 관찰
-c는 받은 쿠키를 로컬 파일에 저장하고 -b는 다음 요청에 사용합니다. 아래 두 명령을 차례대로 실행한 후 demoCookie 값의 차이를 보세요. demo-cookies.txt는 민감한 값이 들어갈 수 있으므로 공유하지 말고 실습 후 직접 정리하세요.
curl.exe -i -c .\demo-cookies.txt "https://rokseclab.kr/api/web/basics/http?sample=first" curl.exe -i -b .\demo-cookies.txt "https://rokseclab.kr/api/web/basics/http?sample=second" - 04
상세 연결·리다이렉트 확인
문제 분석이 필요할 때 -v는 연결과 요청/응답 헤더를, -L은 리다이렉트를 따라간 최종 응답을 보여줍니다. -L을 사용하기 전 원래 3xx 응답과 Location을 먼저 기록하세요. -v 출력에도 쿠키나 토큰이 포함될 수 있습니다.
성공하면 무엇이 보이나요?
- -i 출력의 HTTP 상태 줄·Content-Type·Set-Cookie
- GET의 query와 POST의 body 값 위치
- 쿠키 파일을 사용한 두 번째 요청의 demoCookie
실습 기록
실행한 GET·POST 명령과 각 상태 코드·응답 JSON의 query/body 차이를 기록하세요. 쿠키 파일의 원문은 제출하지 않습니다.
막힐 때 확인하기
curl.exe를 찾을 수 없음
PATH 또는 설치 여부를 확인하고 공식 다운로드 페이지의 운영체제별 안내를 따르세요. 새 터미널을 열어 다시 확인합니다.
PowerShell에서 결과가 예상과 다름
curl 대신 curl.exe를 사용했는지, URL 전체와 값에 큰따옴표를 붙였는지 확인하세요.
쿠키가 유지되지 않음
-c와 -b가 같은 파일을 가리키는지, 요청이 같은 호스트·허용된 Path로 보내졌는지 확인하세요.
공식 다운로드·설명서
다운로드와 사용법은 제공자의 공식 안내를 기준으로 확인하세요. 화면 명칭은 도구 버전에 따라 조금 바뀔 수 있습니다.