이미지 파일 요청

Prev Next

Classic/VPC 환경에서 이용 가능합니다.

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

CAPTCHA Image 파일 요청

발급받은 CAPTCHA 키를 이용해 CAPTCHA 이미지 파일을 요청하는 API 예제를 설명합니다.

Java

Java 기반의 CAPTCHA 이미지 파일 요청 API 예제 코드는 다음과 같습니다.

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.gov-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

Python 기반의 이미지 파일 요청 API 예제 코드는 다음과 같습니다.

import os
import sys
import urllib.request
client_id = "YOUR_CLIENT_ID"
key = "YOUR_CAPTCHA_KEY" # 캡차 Key 값
url = "https://naveropenapi.apigw.gov-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

PHP 기반의 이미지 파일 요청 API 예제 코드는 다음과 같습니다.

<?php
  $client_id = "YOUR_CLIENT_ID";
  $key = "CAPTCHA_KEY";
  $url = "https://naveropenapi.apigw.gov-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

JavaScript 기반의 이미지 파일 요청 API 예제 코드는 다음과 같습니다.

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.gov-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#

C# 기반의 이미지 파일 요청 API 예제 코드는 다음과 같습니다.

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.gov-ntruss.com/captcha/v1/nkey 호출로 받은 키값
            string url = "https://naveropenapi.apigw.gov-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");
        }
    }
}