본문으로 건너뛰기
API 도구 기초집LESSON 19

PowerShell Invoke-RestMethod와 curl.exe 사용

난이도입문 → 초급
예상 시간30분
선수지식이전 강의

19강. PowerShell Invoke-RestMethod와 curl.exe 사용

1. 이번 강의에서 해결할 문제

게임 기록·랭킹 API를 테스트하면서 GUI 없이 PowerShell과 curl.exe로 같은 API 계약을 재현하는 문제를 해결합니다. 수동으로 한 번 성공하는 데서 끝내지 않고 같은 결과를 다시 확인할 수 있는 요청으로 남깁니다.

2. 학습 목표

3. 핵심 개념

Invoke-RestMethod는 JSON 응답을 PowerShell 객체로 바꿔 후속 처리하기 편합니다. curl.exe는 원시 HTTP 요청과 응답 헤더를 재현하거나 다른 환경과 명령을 공유하기 좋습니다. Windows PowerShell 5.1에서는 curl이 다른 명령의 별칭일 수 있으므로 이 과정은 실행 파일을 명확히 지칭하는 curl.exe를 사용합니다.

4. 단계별 실습

실습 경로: C:\dev\game-ranking-api-tests

  1. PowerShell 버전과 curl.exe 경로를 확인합니다.
  2. Invoke-RestMethod로 랭킹을 조회합니다.
  3. curl.exe로 같은 요청과 플레이어 생성 요청을 실행합니다.
  4. 상태 확인 방식과 JSON 출력 차이를 기록합니다.
PowerShell
Get-Command curl.exe
$rankings = Invoke-RestMethod -Uri "http://127.0.0.1:8000/rankings?limit=3"
$rankings.items | Format-Table player_id, score

curl.exe -i "http://127.0.0.1:8000/rankings?limit=3"
curl.exe -i -X POST "http://127.0.0.1:8000/players" `
-H "Content-Type: application/json" `
--data-raw '{"nickname":"powershell-player","region":"KR"}'

Postman의 버튼·탭 이름은 버전에 따라 달라질 수 있습니다. 메뉴가 다르면 설치된 앱의 도움말과 Postman 공식 문서를 먼저 확인합니다.

5. 요청과 응답이 동작하는 이유

두 도구 모두 같은 HTTP 메시지를 보내지만 결과 표현 방식이 다릅니다. Invoke-RestMethod는 JSON을 객체로 역직렬화하고, curl.exe는 기본적으로 응답 본문을 텍스트로 출력하며 -i로 응답 헤더까지 보여 줍니다.

6. 자주 하는 실수와 해결법

7. 직접 실습

8. 이해 점검 질문 3개

9. 핵심 요약

MINI QUIZ

PowerShell Invoke-RestMethod와 curl.exe 사용 미니 퀴즈

선택 즉시 정답과 해설을 확인할 수 있습니다. 결과는 이 브라우저에만 저장됩니다.

0 / 2
  1. 문제 1“PowerShell Invoke-RestMethod와 curl.exe 사용” 실습 결과를 해석하는 올바른 기준은 무엇인가요?
  2. 문제 2“PowerShell Invoke-RestMethod와 curl.exe 사용”에서 ‘실제 토큰을 명령 기록에 남김’ 문제가 생겼습니다. 가장 알맞은 진단 또는 대응은 무엇인가요?
LESSON STATUS

학습을 마쳤나요?

직접 실습과 점검 질문까지 확인한 뒤 완료로 표시하세요.

19강. PowerShell Invoke-RestMethod와 curl.exe 사용 미완료 상태