MENU
      音声ファイルのリクエスト
        • PDF

        音声ファイルのリクエスト

        • PDF

        記事の要約

        Classic/VPC環境で利用できます。

        CAPTCHA音声ファイルリクエスト APIを使用するユースケースを紹介します。

        CAPTCHA Audio音声ファイルのリクエスト

        発行した CAPTCHAキーを利用して CAPTCHA音声ファイルをリクエストする APIのユースケースを説明します。

        Java

        Javaベースの CAPTCHA音声ファイルリクエスト APIのサンプルコードは次の通りです。

        import java.io.*;
        import java.net.HttpURLConnection;
        import java.net.URL;
        import java.util.Date;
        
        public class APIExamCaptchaAudio {
        
            public static void main(String[] args) {
                String clientId = "YOUR_CLIENT_ID";//アプリケーションクライアント ID値";
                try {
                    String key = "CAPTCHA_KEY"; // https://naveropenapi.apigw.ntruss.com/scaptcha/v1/skeyの呼び出しで取得したキー
                    String apiURL = "https://naveropenapi.apigw.ntruss.com/scaptcha-bin/v1/scaptcha?key=" + key + "&X-NCP-APIGW-API-KEY-ID" + clientId;
                    URL url = new URL(apiURL);
                    HttpURLConnection con = (HttpURLConnection)url.openConnection();
                    con.setRequestMethod("GET");
                    int responseCode = con.getResponseCode();
                    BufferedReader br;
                    if(responseCode==200) { // 正常な呼び出し
                        InputStream is = con.getInputStream();
                        int read = 0;
                        byte[] bytes = new byte[1024];
                        // ランダムな名前でファイルを作成
                        String tempname = Long.valueOf(new Date().getTime()).toString();
                        File f = new File(tempname + ".wav");
                        f.createNewFile();
                        OutputStream outputStream = new FileOutputStream(f);
                        while ((read =is.read(bytes)) != -1) {
                            outputStream.write(bytes, 0, read);
                        }
                        is.close();
                    } 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ベースの CAPTCHA音声ファイルリクエスト APIのサンプルコードは次の通りです。

        import os
        import sys
        import urllib.request
        client_id = "YOUR_CLIENT_ID"
        key = "YOUR_CAPTCHA_KEY" # キャプチャ Keyの値
        url = "https://naveropenapi.apigw.ntruss.com/scaptcha-bin/v1/scaptcha?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.wav', 'wb') as f:
                f.write(response_body)
        else:
            print("Error Code:" + rescode)
        Python

        PHP

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

        <?php
          $client_id = "YOUR_CLIENT_ID";
          $key = "CAPTCHA_KEY";
          $url = "https://naveropenapi.apigw.ntruss.com/scaptcha-bin/v1/scaptcha?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);
          curl_setopt($ch, CURLOPT_HTTPHEADER, null);
          $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ベースの CAPTCHA音声ファイルリクエスト APIのサンプルコードは次の通りです。

        var express = require('express');
        var app = express();
        var client_id = 'YOUR_CLIENT_ID';
        var fs = require('fs');
        app.get('/captcha/wav', function (req, res) {
           var api_url = 'https://naveropenapi.apigw.ntruss.com/scaptcha-bin/v1/scaptcha?key=' + req.query.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.wav');
            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/wav?key=캡차키 app listening on port 3000!');
        JavaScript

        C#

        C# ベースの CAPTCHA音声ファイルリクエスト APIのサンプルコードは次の通りです。

        using System;
        using System.Net;
        using System.Text;
        using System.IO;
        
        namespace NaverAPI_Guide
        {
            public class APIExamCaptchaAudio
            {
                static void Main(string[] args)
                {
                    string key = "KEY-INPUT"; // https://naveropenapi.apigw.ntruss.com/scaptcha/v1/skeyの呼び出しで取得したキー
                    string url = "https://naveropenapi.apigw.ntruss.com/scaptcha-bin/v1/scaptcha?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.wav"))
                    using (Stream input = response.GetResponseStream())
                    {
                        input.CopyTo(output);
                    }
                    Console.WriteLine("c:/captcha.wav 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.