MENU
      画像ファイルのリクエスト
        • PDF

        画像ファイルのリクエスト

        • PDF

        記事の要約

        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";//アプリケーションクライアント 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);
                }
            }
        }
        Java

        Python

        Pythonベースの画像ファイルリクエスト APIのサンプルコードは次の通りです。

        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)
        Python

        PHP

        PHPベースの画像ファイルリクエスト APIのサンプルコードは次の通りです。

        <?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 "エラー内容: ".$response;
          }
        ?>
        PHP

        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.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!');
         });
        JavaScript

        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.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");
                }
            }
        }
        Plain text

        この記事は役に立ちましたか?

        Changing your password will log you out immediately. Use the new password to log back in.
        First name must have atleast 2 characters. Numbers and special characters are not allowed.
        Last name must have atleast 1 characters. Numbers and special characters are not allowed.
        Enter a valid email
        Enter a valid password
        Your profile has been successfully updated.