본문 바로가기
IT/Network

Windows에서 cURL 명령어 사용 방법

by Echinacea 2025. 2. 12.
반응형

Windows에서 curl 명령어를 사용하여 API 요청을 보내는 방법

 

1. Windows에서 cURL 사용 확인하기

Windows 10 이상에서는 curl이 기본적으로 포함되어 있다.

이를 확인하려면 명령 프롬프트(cmd) 또는 PowerShell에서 다음 명령어를 실행하면 된다.

curl --version

 

출력 예시:

curl 8.5.0 (Windows) libcurl/8.5.0 Schannel
Release-Date: 2023-11-20
... (버전 정보)

 

이런 식으로 버전 정보가 출력되면 정상적으로 사용할 수 있다.

 


 

2. GET 요청 보내기

GET 요청은 웹 브라우저가 웹페이지를 요청하는 방식과 유사하며, 서버에 저장된 데이터를 조회할 때 사용된다.

아래 명령어를 사용하면 subkey 값에 no를 추가하여 요청을 보낼 수 있다.

curl -X GET "https://api.example.com/data?key=abcdef123456&subkey=no"

 

📌 코드 설명

  • -X GET: 해당 요청이 GET 메서드를 사용함을 명시한다. (GET이 기본값이므로 생략 가능하다.)
  • "URL": 요청 대상 API의 주소. 물음표(?) 뒤에 붙는 값들은 "쿼리 파라미터(Query Parameters)"라고 하며, 서버에 전달하는 조회 조건이다.
  • 출력 예시(JSON):
    {
        "status": "success",
        "data": {
            "name": "홍길동",
            "id_number": "990101-*******",
            "access_level": "user"
        }
    }
    


 

3. POST 요청 보내기 (JSON 데이터 포함)

POST 요청은 서버에 새로운 데이터를 생성하거나 전송할 때 사용된다.

API 통신에서는 주로 JSON 형식의 데이터를 본문(Body)에 담아 전송한다.

curl -X POST "https://api.example.com/data" -H "Content-Type: application/json" -d "{\"key\":\"abcdef123456\", \"subkey\":\"no\"}"

 

📌 코드 설명

  • -X POST: 해당 요청이 POST 메서드를 사용함을 지정한다.
  • -H "Content-Type: application/json": 전송하는 데이터의 형식이 JSON임을 서버에 알리는 HTTP 헤더이다.
  • -d "데이터": 서버로 전송할 실제 데이터를 지정한다.

 

출력 예시:

{
    "status": "created",
    "message": "데이터가 성공적으로 생성되었습니다.",
    "new_id": "D20240101-001"
}

 


 

4. 추가 옵션

 

응답을 파일로 저장

API 응답 본문을 화면에 출력하는 대신, 로컬 파일로 저장할 수 있다.

curl -X GET "https://api.example.com/data?key=abcdef123456&subkey=no" -o response.json

 

출력 예시: (화면에는 출력되지 않음. response.json 파일에 저장됨)

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   145  100   145    0     0    400      0 --:--:-- --:--:-- --:--:--   400

 

 

추가 헤더 포함 (토큰 인증 등)

로그인이 필요한 API의 경우, 인증 토큰(Access Token)을 HTTP 헤더에 담아 전송하여 사용자를 인증할 수 있다.

curl -X GET "https://api.example.com/data" -H "Authorization: Bearer YOUR_ACCESS_TOKEN"

 

출력 예시: (성공적으로 인증된 경우)

{
    "status": "success",
    "user_info": {
        "name": "홍길동",
        "last_login": "2025-11-12T01:23:45Z"
    }
}

 

반응형

댓글