---
title: "이미지 파일 요청"
slug: "ai-naver-captcha-image-request-api-example"
tags: ["CAPTCHA"]
updated: 2026-04-23T08:55:47Z
published: 2026-04-23T09:02:20Z
---

> ## Documentation Index
> Fetch the complete documentation index at: https://api.ncloud-docs.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 이미지 파일 요청

<p class="platform-info type-classic-vpc">Classic/VPC 환경에서 이용 가능합니다.</p>

CAPTCHA 이미지 파일 요청 API를 사용하는 예제를 소개합니다.

## CAPTCHA Image 파일 요청<a name="CAPTCHAImage파일요청"></a>
발급받은 CAPTCHA 키를 이용해 CAPTCHA 이미지 파일을 요청하는 API 예제를 설명합니다.

### Java<a name="Java"></a>
Java 기반의 CAPTCHA 이미지 파일 요청 API 예제 코드는 다음과 같습니다.

```java
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;

public class APIExamCaptchaNkey {

    public static void main(String[] args) {
        String clientId = "YOUR_CLIENT_ID";//애플리케이션 클라이언트 아이디값";
        String clientSecret = "YOUR_CLIENT_SECRET";//애플리케이션 클라이언트 시크릿값";
        try {
            String code = "0"; // 이미지 파일 요청시 0,  캡차 이미지 비교시 1로 세팅
            String apiURL = "https://naveropenapi.apigw.ntruss.com/captcha/v1/nkey?code=" + code;
            URL url = new URL(apiURL);
            HttpURLConnection con = (HttpURLConnection)url.openConnection();
            con.setRequestMethod("GET");
            con.setRequestProperty("X-NCP-APIGW-API-KEY-ID", clientId);
            con.setRequestProperty("X-NCP-APIGW-API-KEY", clientSecret);
            int responseCode = con.getResponseCode();
            BufferedReader br;
            if(responseCode==200) { // 정상 호출
                br = new BufferedReader(new InputStreamReader(con.getInputStream()));
            } else {  // 오류 발생
                br = new BufferedReader(new InputStreamReader(con.getErrorStream()));
            }
            String inputLine;
            StringBuffer response = new StringBuffer();
            while ((inputLine = br.readLine()) != null) {
                response.append(inputLine);
            }
            br.close();
            System.out.println(response.toString());
        } catch (Exception e) {
            System.out.println(e);
        }
    }
}
```

### Python<a name="Python"></a>
Python 기반의 이미지 파일 요청 API 예제 코드는 다음과 같습니다.

```python
import os
import sys
import urllib.request
client_id = "YOUR_CLIENT_ID"
key = "YOUR_CAPTCHA_KEY" # 캡차 Key 값
url = "https://naveropenapi.apigw.ntruss.com/captcha-bin/v1/ncaptcha?key=" + key + "&X-NCP-APIGW-API-KEY-ID=" + client_id;
request = urllib.request.Request(url)
response = urllib.request.urlopen(request)
rescode = response.getcode()
if(rescode==200):
    print("캡차 이미지 저장")
    response_body = response.read()
    with open('captcha.jpg', 'wb') as f:
        f.write(response_body)
else:
    print("Error Code:" + rescode)
```

### PHP<a name="PHP"></a>
PHP 기반의 이미지 파일 요청 API 예제 코드는 다음과 같습니다.

```php
<?php
  $client_id = "YOUR_CLIENT_ID";
  $key = "CAPTCHA_KEY";
  $url = "https://naveropenapi.apigw.ntruss.com/captcha-bin/v1/ncaptcha?key=".$key."&X-NCP-APIGW-API-KEY-ID=".$client_id;
  $is_post = false;
  $ch = curl_init();
  curl_setopt($ch, CURLOPT_URL, $url);
  curl_setopt($ch, CURLOPT_POST, $is_post);
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  $response = curl_exec ($ch);
  $status_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
  echo "status_code:".$status_code."<br />";
  curl_close ($ch);
  if($status_code == 200) {
    //echo $response;
    $fp = fopen("captcha.jpg", "w+");
    fwrite($fp, $response);
    fclose($fp);
    echo "<img src='captcha.jpg'>";
  } else {
    echo "Error 내용:".$response;
  }
?>
```

### JavaScript<a name="JavaScript"></a>
JavaScript 기반의 이미지 파일 요청 API 예제 코드는 다음과 같습니다.

```javascript
var express = require('express');
var app = express();
var client_id = 'YOUR_CLIENT_ID';
var fs = require('fs');
app.get('/captcha/image', function (req, res) {
   var api_url = 'https://naveropenapi.apigw.ntruss.com/captcha-bin/v1/ncaptcha?key=' + req.query.key + "&X-NCP-APIGW-API-KEY-ID=" + client_id;
   var request = require('request');
   var options = {
       url: api_url
    };
    var writeStream = fs.createWriteStream('./captcha.jpg');
    var _req = request.get(options).on('response', function(response) {
       console.log(response.statusCode) // 200
       console.log(response.headers['content-type'])
    });
  _req.pipe(writeStream); // file로 출력
  _req.pipe(res); // 브라우저로 출력
 });
 app.listen(3000, function () {
   console.log('http://127.0.0.1:3000/captcha/image?key=캡차키 app listening on port 3000!');
 });
 ```

 ### C#<a name="C#"></a>
C# 기반의 이미지 파일 요청 API 예제 코드는 다음과 같습니다.

```c#
using System;
using System.Net;
using System.Text;
using System.IO;

namespace NaverAPI_Guide
{
    public class APIExamCaptchaImage
    {
        static void Main(string[] args)
        {
            string key = "KEY-INPUT"; // https://naveropenapi.apigw.ntruss.com/captcha/v1/nkey 호출로 받은 키값
            string url = "https://naveropenapi.apigw.ntruss.com/captcha/v1/ncaptcha?key=" + key + "&X-NCP-APIGW-API-KEY-ID=YOUR-CLIENT-ID";
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
            HttpWebResponse response = (HttpWebResponse)request.GetResponse();
            string status = response.StatusCode.ToString();
            Console.WriteLine("status="+ status);
            using (Stream output = File.OpenWrite("c:/captcha.jpg"))
            using (Stream input = response.GetResponseStream())
            {
                input.CopyTo(output);
            }
            Console.WriteLine("c:/captcha.jpg was created");
        }
    }
}

```
