음성 파일 요청
    • 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";//애플리케이션 클라이언트 아이디값";
            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);
            }
        }
    }
    

    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)
    

    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 "Error 내용:".$response;
      }
    ?>
    

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

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

    이 문서가 도움이 되었습니까?

    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.