入力値の照合
    • 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;
    
    public class APIExamCaptchaNkeyResult {
    
        public static void main(String[] args) {
            String clientId = "YOUR_CLIENT_ID";//アプリケーションクライアント ID値";
            String clientSecret = "YOUR_CLIENT_SECRET";//アプリケーションクライアントのシークレット値";
            try {
                String code = "1"; // キー発行時は0、キャプチャ画像照合時は1に設定
                String key = "CAPTCHA_KEY"; // キャプチャキー発行時に取得したキー
                String value = "USER_VALUE"; // ユーザーが入力したキャプチャ画像の文字列
                String apiURL = "https://naveropenapi.apigw.ntruss.com/captcha/v1/nkey?code=" + code +"&key="+ key + "&value="+ value;
    
                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"
    client_secret = "YOUR_CLIENT_SECRET"
    code = "1"
    key = "YOUR_CAPTCHA_KEY"
    value = "YOUR_CAPTCHA_VALUE"
    url = "https://naveropenapi.apigw.ntruss.com/captcha/v1/nkey?code=" + code + "&key=" + key + "&value=" + value
    request = urllib.request.Request(url)
    request.add_header("X-NCP-APIGW-API-KEY-ID",client_id)
    request.add_header("X-NCP-APIGW-API-KEY",client_secret)
    response = urllib.request.urlopen(request)
    rescode = response.getcode()
    if(rescode==200):
        response_body = response.read()
        print(response_body.decode('utf-8'))
    else:
        print("Error Code:" + rescode)
    

    PHP

    PHPベースの入力値照合 APIのサンプルコードは次の通りです。

    <?php
      $client_id = "YOUR_CLIENT_ID";
      $client_secret = "YOUR_CLIENT_SECRET";
      $key = "CAPTCHA_KEY";
      $code = "1";
      $value = "USER_VALUE";
      $url = "https://naveropenapi.apigw.ntruss.com/captcha/v1/nkey?code=".$code."&key=".$key."&value=".$value;
      $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);
      $headers = array();
      $headers[] = "X-NCP-APIGW-API-KEY-ID: ".$client_id;
      $headers[] = "X-NCP-APIGW-API-KEY: ".$client_secret;
      curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
      $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;
      } else {
        echo "エラー内容: ".$response;
      }
    ?>
    

    JavaScript

    JavaScriptベースの入力値照合 APIのサンプルコードは次の通りです。

    var express = require('express');
    var app = express();
    var client_id = 'YOUR_CLIENT_ID';
    var client_secret = 'YOUR_CLIENT_SECRET';
    var code = "1";
    app.get('/captcha/result', function (req, res) {
       var api_url = 'https://naveropenapi.apigw.ntruss.com/captcha/v1/nkey?code=' + code + '&key=' + req.query.key + '&value=' + req.query.value;
       var request = require('request');
       var options = {
           url: api_url,
           headers: {'X-NCP-APIGW-API-KEY-ID':client_id, 'X-NCP-APIGW-API-KEY': client_secret}
        };
       request.get(options, function (error, response, body) {
         if (!error && response.statusCode == 200) {
           res.writeHead(200, {'Content-Type': 'text/json;charset=utf-8'});
           res.end(body);
         } else {
           res.status(response.statusCode).end();
           console.log('error = ' + response.statusCode);
         }
       });
     });
     app.listen(3000, function () {
       console.log('http://127.0.0.1:3000/captcha/result?key=캡차키&value=캡차밸류 app listening on port 3000!');
     })
    

    C#

    C# ベースの入力値照合 APIのサンプルコードは次の通りです。

    using System;
    using System.Net;
    using System.Text;
    using System.IO;
    
    namespace NaverAPI_Guide
    {
        public class APIExamCaptchaNkeyResult
        {
            static void Main(string[] args)
            {
                string code = "1"; // キー発行時は0、キャプチャ画像照合時は1に設定
                string key = "KEY-INPUT";  // キャプチャキー発行時に取得したキー
                string value = "VALUE-INPUT";  // ユーザーが入力したキャプチャ画像の文字列
                string url = "https://naveropenapi.apigw.ntruss.com/captcha/v1/nkey?code=" + code + "&key=" + key + "&value=" + value;
                HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
                request.Headers.Add("X-NCP-APIGW-API-KEY-ID", "YOUR-CLIENT-ID");
                request.Headers.Add("X-NCP-APIGW-API-KEY", "YOUR-CLIENT-SECRET");
                HttpWebResponse response = (HttpWebResponse)request.GetResponse();
                string status = response.StatusCode.ToString();
                if(status == "OK")
                {
                    Stream stream = response.GetResponseStream();
                    StreamReader reader = new StreamReader(stream, Encoding.UTF8);
                    string text = reader.ReadToEnd();
                    Console.WriteLine(text);
                }
                else
                {
                    Console.WriteLine("Error発生=" + status);
                }
            }
        }
    }
    

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

    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.