声纹识别(长句模型)

长句模型声纹识别1. 支持用户声纹1:1/1:N批量对比2. 为保证准确率语音内容需为长句

使用期限

价格

110元
用户评价: 暂无评价

购买人数:34

规格与周期

1.00元/10次”,“一年

联系电话

服务保障

精选优质服务商
7*8小时在线客服
专业测试保证品质
退款售后无忧
API文档

长自由生成向量

调用地址:https://service-mtp5t0zs-1256142414.ap-guangzhou.apigateway.myqcloud.com/release/long/vecforregister

请求方式:POST

返回类型:JSON

API调用: API调用说明(secret_id & secret_key)

去调试

请求参数(Headers)

名称
类型
是否必须
描述
Authorization
string
用于腾讯云做鉴权,详细可以见sdk
Date
string
用于腾讯云做鉴权,详细可以见sdk
Source
string
用于腾讯云做鉴权,详细可以见sdk

请求参数(Qurey)

名称
类型
是否必须
描述
暂无数据

请求参数(Body)

名称
类型
是否必须
描述
暂无数据

请求示例

import urllib2, ssl, datetime, hmac, base64, hashlib

host = 'service-mtp5t0zs-1256142414.ap-guangzhou.apigateway.myqcloud.com'
url = 'https://service-mtp5t0zs-1256142414.ap-guangzhou.apigateway.myqcloud.com/release'
path = '/long/vecforregister'
source = 'source'
method ='POST'
GMT_FORMAT = '%a, %d %b %Y %H:%M:%S GMT'

#云市场分配的密钥Id
SecretId='xxx'
#云市场分配的密钥Key
SecretKey='xxx'
dateTime = datetime.datetime.utcnow().strftime(GMT_FORMAT)
auth = "hmac id=\"" + SecretId + "\", algorithm=\"hmac-sha1\", headers=\"date source\", signature=\""
signStr = "date: " + dateTime + "\n" + "source: " + source
sign = hmac.new(SecretKey, signStr, hashlib.sha1).digest()
sign = base64.b64encode(sign)
sign = auth + sign + "\""

url = url + path

postData = ''

request = urllib2.Request(url, postData)

request.add_header('Authorization', sign)
request.add_header('Host', host)
request.add_header('Source', 'source')
request.add_header('Date', dateTime)
request.add_header('Content-Type', 'application/x-www-form-urlencoded')
request.add_header('X-Requested-With', 'XMLHttpRequest')
ctx = ssl.create_default_context()
ctx.check_hostname = False
ctx.verify_mode = ssl.CERT_NONE
response = urllib2.urlopen(request, context=ctx)
content = response.read()
if (content):
    print(content)
curl -v -X POST https://service-mtp5t0zs-1256142414.ap-guangzhou.apigateway.myqcloud.com/release/long/vecforregister -H 'Host:service-mtp5t0zs-1256142414.ap-guangzhou.apigateway.myqcloud.com' -H 'Source:source' -H 'Date:Mon, 19 Mar 2018 12:08:40 GMT' -H 'Authorization:hmac id = "AKIDi6qE41WgJ9w8h4h9zq68Vq24d1beIuN0qIwU", algorithm = "hmac-sha1", headers = "date source", signature = yMCxXNytW5nvVGNZ8aBtRxmiLJ4=' -H 'X-Requested-With:XMLHttpRequest' -H 'Authorization:'-H 'Date:'-H 'Source:'
//请用云市场分配给您的密钥计算签名并放入请求头,Date为当前的GMT时间
<?php
$host = 'service-mtp5t0zs-1256142414.ap-guangzhou.apigateway.myqcloud.com';
$url = 'https://service-mtp5t0zs-1256142414.ap-guangzhou.apigateway.myqcloud.com/release';
$path = '/long/vecforregister';
$method = 'POST';
$source = 'source';

#云市场分配的密钥Id
$SecretId='xxx';
#云市场分配的密钥Key
$SecretKey='xxx';
$dateTime = gmdate('D, d M Y H:i:s T');
$auth = 'hmac id="' . $SecretId . '", algorithm="hmac-sha1", headers="date source", signature="';
$signStr = 'date: ' . $dateTime . "\n" . 'source: ' . $source;
$sign = base64_encode(hash_hmac('sha1', $signStr, $SecretKey, true));
$sign = $auth . $sign . '"';

$url = $url . $path;

$postData = '';

$headers = array( 
    "Host: $host",
    'Accept: text/html, */*; q=0.01',
    "Source: $source",
    "Date: $dateTime",
    "Authorization: $sign",
    'X-Requested-With: XMLHttpRequest',
    'Accept-Encoding: gzip, deflate, sdch',
    'Content-Type: application/x-www-form-urlencoded'
);

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, $url); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($ch, CURLOPT_TIMEOUT, 60); 
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); 
curl_setopt($ch, CURLOPT_POST, true);

curl_setopt($ch, CURLOPT_POSTFIELDS, $postData);

$data = curl_exec($ch); 
if (curl_errno($ch)) { 
    echo "Error: " . curl_error($ch); 
} else { 
    // Show me the result 
    var_dump($data); 
    curl_close($ch); 
}
using System.IO;
using System.Text;
using System.Net;
using System.Net.Security;
using System.Security.Cryptography;
using System.Security.Cryptography.X509Certificates;
using System;

public class CsharpTest
{
    public static String HMACSHA1Text(String EncryptText, String EncryptKey)
    {            
            HMACSHA1 hmacsha1 = new HMACSHA1();
            hmacsha1.Key = System.Text.Encoding.UTF8.GetBytes(EncryptKey);

            byte[] dataBuffer = System.Text.Encoding.UTF8.GetBytes(EncryptText);
            byte[] hashBytes = hmacsha1.ComputeHash(dataBuffer);
            return Convert.ToBase64String(hashBytes);
    }

    public static void Main(String[] args)
    {
        String url = "https://service-mtp5t0zs-1256142414.ap-guangzhou.apigateway.myqcloud.com/release";   
        String host = "service-mtp5t0zs-1256142414.ap-guangzhou.apigateway.myqcloud.com";
        String path = "/long/vecforregister";
        String method = "POST";
        String source = "source";
        String postData = "";
        
        //云市场分配的密钥Id
        String  secretId = "xxx";
        //云市场分配的密钥Key       
        String  secretKey = "xxx";

        String dt = DateTime.UtcNow.GetDateTimeFormats('r')[0]; //Mon, 19 Mar 2018 12:00:44 GMT
        url = url + path;    
        
        String signStr = "x-date: " + dt + "\n" + "source: " + source;
        String sign = HMACSHA1Text(signStr, secretKey);
        
        String auth = "hmac id=\"" + secretId + "\", algorithm=\"hmac-sha1\", headers=\"x-date source\", signature=\"";        
        auth = auth + sign + "\"";
        Console.WriteLine(auth + "\n");

        HttpWebRequest httpRequest = null;
        HttpWebResponse httpResponse = null;

        if (url.Contains("https://"))
        {
            ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(CheckValidationResult);
            httpRequest = (HttpWebRequest)WebRequest.CreateDefault(new Uri(url));
        }
        else
        {
            httpRequest = (HttpWebRequest)WebRequest.Create(url);
        }
            
        httpRequest.Method = method;
        httpRequest.ContentLength = requestBodys.Length;
        httpRequest.ContentType = "application/x-www-form-urlencoded";
        httpRequest.Headers.Add("Authorization", auth);
        httpRequest.Headers.Add("Source", source);
        httpRequest.Headers.Add("X-date", dt);
        httpRequest.GetRequestStream().Write(System.Text.Encoding.ASCII.GetBytes(postData), 0, postData.Length);

        try
        {
            httpResponse = (HttpWebResponse)httpRequest.GetResponse();
        }
        catch (WebException ex)
        {
            httpResponse = (HttpWebResponse)ex.Response;
        }

        Console.WriteLine(httpResponse.StatusCode);
        Console.WriteLine(httpResponse.Headers);
        Stream st = httpResponse.GetResponseStream();
        StreamReader reader = new StreamReader(st, Encoding.GetEncoding("utf-8"));
        Console.WriteLine(reader.ReadToEnd());
        Console.WriteLine("\n");

    }

    public static bool CheckValidationResult(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors errors)
    {
        return true;
    }
}
package main

import (
    "time"
    "fmt"
    "crypto/hmac"
    "crypto/sha1"
    "io"
    "io/ioutil"
    "encoding/base64"
    "net/http"
)


func calcAuthorization(source string, secretId string, secretKey string) (sign string, dateTime string, err error) {
    timeLocation, _ := time.LoadLocation("Etc/GMT")
    dateTime = time.Now().In(timeLocation).Format("Mon, 02 Jan 2006 15:04:05 GMT")
    sign = fmt.Sprintf("x-date: %s\nsource: %s", dateTime, source)
    fmt.Println(sign)

    //hmac-sha1
    h := hmac.New(sha1.New, []byte(secretKey))
    io.WriteString(h, sign)
    sign = fmt.Sprintf("%x", h.Sum(nil))
    sign = string(h.Sum(nil))
    fmt.Println("sign:", fmt.Sprintf("%s", h.Sum(nil)))

    //base64
    sign = base64.StdEncoding.EncodeToString([]byte(sign))
    fmt.Println("sign:", sign)

    auth := fmt.Sprintf("hmac id=\"%s\", algorithm=\"hmac-sha1\", headers=\"x-date source\", signature=\"%s\"", 
        secretId, sign)
    fmt.Println("auth:", auth)
        
    return auth, dateTime, nil
}

func main () {

    //云市场分配的密钥Id
    SecretId := "xxx"
    //云市场分配的密钥Key 
    SecretKey := "xxx"
    source := "source"

    sign, dateTime, err := calcAuthorization(source, SecretId, SecretKey)
    if err != nil {
        fmt.Println(err)
        return
    }

    defaultDomain := "service-mtp5t0zs-1256142414.ap-guangzhou.apigateway.myqcloud.com"
    path := "/long/vecforregister"
    url := "https://service-mtp5t0zs-1256142414.ap-guangzhou.apigateway.myqcloud.com/release"
    reqUrl := url + path
    client := &http.Client{
        Timeout: 7 * time.Second,//set timeout
    }

    postData = "";
    req, err := http.NewRequest("POST", reqUrl, postData) //set body
    if err != nil {
        fmt.Println(err)        
        return 
    }

    req.Header.Set("Content-Type", "application/x-www-form-urlencoded")
    req.Header.Set("Accept", "*/*")
    req.Header.Set("Accept-Charset", "utf-8;")
    req.Header.Set("Host", defaultDomain)
    req.Header.Set("Source", source)
    req.Header.Set("X-Date", dateTime)
    req.Header.Set("Authorization", sign)

    resp, err := client.Do(req)
    if err != nil {
        fmt.Println(err)        
        return 
    }
    defer resp.Body.Close()

    fmt.Println("status code:", resp.StatusCode)
    
    //get resp header
    var headerMsg string
    for key, _ := range resp.Header {
        headerMsg += fmt.Sprintf("\n%s:%s", key, resp.Header.Get(key))
    }
    fmt.Println(headerMsg)

    body, err := ioutil.ReadAll(resp.Body)
    if err != nil {
        fmt.Println(err)        
        return 
    }

    fmt.Println(string(body))
    
}
import java.io.*;
import java.io.UnsupportedEncodingException;
import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;
import javax.crypto.Mac;
import javax.crypto.spec.SecretKeySpec;
import java.text.SimpleDateFormat;
import java.util.*;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.URL;
import java.net.URLConnection;
import java.net.HttpURLConnection;
import sun.misc.BASE64Encoder;

class test 
{
    public static String sign(String secret, String timeStr) 
        throws NoSuchAlgorithmException, UnsupportedEncodingException, InvalidKeyException {
        //get signStr
        String signStr = "date: " + timeStr + "\n" + "source: " + "source";
        //get sig
        String sig = null;
        Mac mac1 = Mac.getInstance("HmacSHA1");
        byte[] hash;
        SecretKeySpec secretKey = new SecretKeySpec(secret.getBytes("UTF-8"), mac1.getAlgorithm());
        mac1.init(secretKey);
        hash = mac1.doFinal(signStr.getBytes("UTF-8"));
        sig = new BASE64Encoder().encode(hash);
        System.out.println("signValue--->" + sig);
        return sig;
    }

    public static void main(String[] args) {
        String result = "";
        BufferedReader in = null;

        //get current GMT time
        Calendar cd = Calendar.getInstance(); 
        SimpleDateFormat sdf = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss 'GMT'", Locale.US); 
        sdf.setTimeZone(TimeZone.getTimeZone("GMT")); 
        String timeStr = sdf.format(cd.getTime()); 

        String host = "service-mtp5t0zs-1256142414.ap-guangzhou.apigateway.myqcloud.com";  
        String path = "/long/vecforregister";
        String url = "https://service-mtp5t0zs-1256142414.ap-guangzhou.apigateway.myqcloud.com/release";
        url = url + path;
        String source = "source"; 
        String postData = '';

        //云市场分配的密钥Id
        String secretId = "xxx";
        //云市场分配的密钥Key 
        String secretKey = "xxx";

        try {
            String urlNameString = url;
            URL realUrl = new URL(urlNameString);
            // 打开和URL之间的连接
            URLConnection connection = realUrl.openConnection();
            HttpURLConnection httpUrlCon = (HttpURLConnection)connection;
            httpUrlCon.setRequestMethod("POST");
            httpUrlCon.setDoOutput(true);
            httpUrlCon.setDoInput(true);
            PrintWriter printWriter = new PrintWriter(httpUrlCon.getOutputStream());
            httpUrlCon.setRequestProperty("Content-Length", postData.length());
            OutputStream outwritestream = httpUrlCon.getOutputStream();
            outwritestream.write(postData);
            outwritestream.flush();
            outwritestream.close();
            
            // 设置通用的请求属性
            httpUrlCon.setRequestProperty("Host", host);
            httpUrlCon.setRequestProperty("Accept", "text/html, */*; q=0.01");
            httpUrlCon.setRequestProperty("Source", source );
            httpUrlCon.setRequestProperty("Date", timeStr);
            String sig = sign(secretKey,timeStr);
            String authen = "hmac id=\"" + secretId + "\", algorithm=\"hmac-sha1\", headers=\"date source\", signature=\"" + sig + "\"";
            System.out.println("authen --->" + authen);
            httpUrlCon.setRequestProperty("Authorization", authen);
            httpUrlCon.setRequestProperty("X-Requested-With", "XMLHttpRequest");
            httpUrlCon.setRequestProperty('Content-Type', 'application/x-www-form-urlencoded');
            httpUrlCon.setRequestProperty("Accept-Encoding", "gzip, deflate, sdch");
            // 建立实际的连接
            httpUrlCon.connect();
            // 获取所有响应头字段
            Map<String, List<String>> map = httpUrlCon.getHeaderFields();
            // 遍历所有的响应头字段
            for (String key : map.keySet()) {
                System.out.println(key + "--->" + map.get(key));
            }
            // 定义 BufferedReader输入流来读取URL的响应
            in = new BufferedReader(new InputStreamReader(
            httpUrlCon.getInputStream()));
            String line;
            while ((line = in.readLine()) != null) {
                result += line;
            }

            System.out.println(result);

        } catch (Exception e) {
            System.out.println("发送GET请求出现异常!" + e);
            e.printStackTrace();
        }
        // 使用finally块来关闭输入流
        finally {
            try {
                if (in != null) {
                    in.close();
                }
            } catch (Exception e2) {
                e2.printStackTrace();
            }
        }
    }
}
/**
 * npm install crypto-js axios
 */
var CryptoJS = require("crypto-js");
var axios = require('axios');

var nowDate = new Date(); 
var dateTime = nowDate.toGMTString();

var host = "service-mtp5t0zs-1256142414.ap-guangzhou.apigateway.myqcloud.com";  
var path = "/long/vecforregister";
var url = "https://service-mtp5t0zs-1256142414.ap-guangzhou.apigateway.myqcloud.com/release";
url = url + path;
var source = "source"; 

var postData = '';

//云市场分配的密钥Id
var secretId = "xxx";
//云市场分配的密钥Key 
var secretKey = "xxx";

var auth = "hmac id=\"" + secretId + "\", algorithm=\"hmac-sha1\", headers=\"x-date source\", signature=\"";
var signStr = "x-date: " + dateTime + "\n" + "source: " + source;
var sign = CryptoJS.HmacSHA1(signStr, secretKey)
console.log(sign.toString())
sign = CryptoJS.enc.Base64.stringify(sign)
sign = auth + sign + "\""
console.log(sign)

var instance = axios.create({
    baseURL: url,
    timeout: 5000,
    method: 'post',
    data: postData
    headers: {
                "Source":source,
                "X-date":dateTime,
                "Authorization":sign,
                "Content-Type":"application/x-www-form-urlencoded"
    },
    withCredentials: true
});


instance.get()
.then(function (response) {
        console.log(response);
    })
    .catch(function (error) {
        console.log(error);
    });

正常返回示例

{
  "data": {
//这个是生成好的声纹唯一id,用来比对
    "vecId": "f0320a44-1f6c-41e1-9d9b-481f882bbb81"
  },
  "errorDesc": "",
  "errorId": "",
  "hasError": false
}

失败返回示例

{
  "hasError": true,
  "errorId": "LOGINC_ERROR",
  "errorDesc": "文件个数太少,请重试",
  "data": {}
}

返回码定义

返回码
返回信息
描述
无参数

长自由对比声纹

调用地址:https://service-mtp5t0zs-1256142414.ap-guangzhou.apigateway.myqcloud.com/release/long/compare

请求方式:POST

返回类型:JSON

API调用: API调用说明(secret_id & secret_key)

去调试

请求参数(Headers)

名称
类型
是否必须
描述
Authorization
string
用于腾讯云做鉴权,详细可以见sdk
Date
string
用于腾讯云做鉴权,详细可以见sdk
Source
string
用于腾讯云做鉴权,详细可以见sdk

请求参数(Qurey)

名称
类型
是否必须
描述
暂无数据

请求参数(Body)

名称
类型
是否必须
描述
暂无数据

请求示例

import urllib2, ssl, datetime, hmac, base64, hashlib

host = 'service-mtp5t0zs-1256142414.ap-guangzhou.apigateway.myqcloud.com'
url = 'https://service-mtp5t0zs-1256142414.ap-guangzhou.apigateway.myqcloud.com/release'
path = '/long/compare'
source = 'source'
method ='POST'
GMT_FORMAT = '%a, %d %b %Y %H:%M:%S GMT'

#云市场分配的密钥Id
SecretId='xxx'
#云市场分配的密钥Key
SecretKey='xxx'
dateTime = datetime.datetime.utcnow().strftime(GMT_FORMAT)
auth = "hmac id=\"" + SecretId + "\", algorithm=\"hmac-sha1\", headers=\"date source\", signature=\""
signStr = "date: " + dateTime + "\n" + "source: " + source
sign = hmac.new(SecretKey, signStr, hashlib.sha1).digest()
sign = base64.b64encode(sign)
sign = auth + sign + "\""

url = url + path

postData = ''

request = urllib2.Request(url, postData)

request.add_header('Authorization', sign)
request.add_header('Host', host)
request.add_header('Source', 'source')
request.add_header('Date', dateTime)
request.add_header('Content-Type', 'application/x-www-form-urlencoded')
request.add_header('X-Requested-With', 'XMLHttpRequest')
ctx = ssl.create_default_context()
ctx.check_hostname = False
ctx.verify_mode = ssl.CERT_NONE
response = urllib2.urlopen(request, context=ctx)
content = response.read()
if (content):
    print(content)
curl -v -X POST https://service-mtp5t0zs-1256142414.ap-guangzhou.apigateway.myqcloud.com/release/long/compare -H 'Host:service-mtp5t0zs-1256142414.ap-guangzhou.apigateway.myqcloud.com' -H 'Source:source' -H 'Date:Mon, 19 Mar 2018 12:08:40 GMT' -H 'Authorization:hmac id = "AKIDi6qE41WgJ9w8h4h9zq68Vq24d1beIuN0qIwU", algorithm = "hmac-sha1", headers = "date source", signature = yMCxXNytW5nvVGNZ8aBtRxmiLJ4=' -H 'X-Requested-With:XMLHttpRequest' -H 'Authorization:'-H 'Date:'-H 'Source:'
//请用云市场分配给您的密钥计算签名并放入请求头,Date为当前的GMT时间
<?php
$host = 'service-mtp5t0zs-1256142414.ap-guangzhou.apigateway.myqcloud.com';
$url = 'https://service-mtp5t0zs-1256142414.ap-guangzhou.apigateway.myqcloud.com/release';
$path = '/long/compare';
$method = 'POST';
$source = 'source';

#云市场分配的密钥Id
$SecretId='xxx';
#云市场分配的密钥Key
$SecretKey='xxx';
$dateTime = gmdate('D, d M Y H:i:s T');
$auth = 'hmac id="' . $SecretId . '", algorithm="hmac-sha1", headers="date source", signature="';
$signStr = 'date: ' . $dateTime . "\n" . 'source: ' . $source;
$sign = base64_encode(hash_hmac('sha1', $signStr, $SecretKey, true));
$sign = $auth . $sign . '"';

$url = $url . $path;

$postData = '';

$headers = array( 
    "Host: $host",
    'Accept: text/html, */*; q=0.01',
    "Source: $source",
    "Date: $dateTime",
    "Authorization: $sign",
    'X-Requested-With: XMLHttpRequest',
    'Accept-Encoding: gzip, deflate, sdch',
    'Content-Type: application/x-www-form-urlencoded'
);

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, $url); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($ch, CURLOPT_TIMEOUT, 60); 
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); 
curl_setopt($ch, CURLOPT_POST, true);

curl_setopt($ch, CURLOPT_POSTFIELDS, $postData);

$data = curl_exec($ch); 
if (curl_errno($ch)) { 
    echo "Error: " . curl_error($ch); 
} else { 
    // Show me the result 
    var_dump($data); 
    curl_close($ch); 
}
using System.IO;
using System.Text;
using System.Net;
using System.Net.Security;
using System.Security.Cryptography;
using System.Security.Cryptography.X509Certificates;
using System;

public class CsharpTest
{
    public static String HMACSHA1Text(String EncryptText, String EncryptKey)
    {            
            HMACSHA1 hmacsha1 = new HMACSHA1();
            hmacsha1.Key = System.Text.Encoding.UTF8.GetBytes(EncryptKey);

            byte[] dataBuffer = System.Text.Encoding.UTF8.GetBytes(EncryptText);
            byte[] hashBytes = hmacsha1.ComputeHash(dataBuffer);
            return Convert.ToBase64String(hashBytes);
    }

    public static void Main(String[] args)
    {
        String url = "https://service-mtp5t0zs-1256142414.ap-guangzhou.apigateway.myqcloud.com/release";   
        String host = "service-mtp5t0zs-1256142414.ap-guangzhou.apigateway.myqcloud.com";
        String path = "/long/compare";
        String method = "POST";
        String source = "source";
        String postData = "";
        
        //云市场分配的密钥Id
        String  secretId = "xxx";
        //云市场分配的密钥Key       
        String  secretKey = "xxx";

        String dt = DateTime.UtcNow.GetDateTimeFormats('r')[0]; //Mon, 19 Mar 2018 12:00:44 GMT
        url = url + path;    
        
        String signStr = "x-date: " + dt + "\n" + "source: " + source;
        String sign = HMACSHA1Text(signStr, secretKey);
        
        String auth = "hmac id=\"" + secretId + "\", algorithm=\"hmac-sha1\", headers=\"x-date source\", signature=\"";        
        auth = auth + sign + "\"";
        Console.WriteLine(auth + "\n");

        HttpWebRequest httpRequest = null;
        HttpWebResponse httpResponse = null;

        if (url.Contains("https://"))
        {
            ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(CheckValidationResult);
            httpRequest = (HttpWebRequest)WebRequest.CreateDefault(new Uri(url));
        }
        else
        {
            httpRequest = (HttpWebRequest)WebRequest.Create(url);
        }
            
        httpRequest.Method = method;
        httpRequest.ContentLength = requestBodys.Length;
        httpRequest.ContentType = "application/x-www-form-urlencoded";
        httpRequest.Headers.Add("Authorization", auth);
        httpRequest.Headers.Add("Source", source);
        httpRequest.Headers.Add("X-date", dt);
        httpRequest.GetRequestStream().Write(System.Text.Encoding.ASCII.GetBytes(postData), 0, postData.Length);

        try
        {
            httpResponse = (HttpWebResponse)httpRequest.GetResponse();
        }
        catch (WebException ex)
        {
            httpResponse = (HttpWebResponse)ex.Response;
        }

        Console.WriteLine(httpResponse.StatusCode);
        Console.WriteLine(httpResponse.Headers);
        Stream st = httpResponse.GetResponseStream();
        StreamReader reader = new StreamReader(st, Encoding.GetEncoding("utf-8"));
        Console.WriteLine(reader.ReadToEnd());
        Console.WriteLine("\n");

    }

    public static bool CheckValidationResult(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors errors)
    {
        return true;
    }
}
package main

import (
    "time"
    "fmt"
    "crypto/hmac"
    "crypto/sha1"
    "io"
    "io/ioutil"
    "encoding/base64"
    "net/http"
)


func calcAuthorization(source string, secretId string, secretKey string) (sign string, dateTime string, err error) {
    timeLocation, _ := time.LoadLocation("Etc/GMT")
    dateTime = time.Now().In(timeLocation).Format("Mon, 02 Jan 2006 15:04:05 GMT")
    sign = fmt.Sprintf("x-date: %s\nsource: %s", dateTime, source)
    fmt.Println(sign)

    //hmac-sha1
    h := hmac.New(sha1.New, []byte(secretKey))
    io.WriteString(h, sign)
    sign = fmt.Sprintf("%x", h.Sum(nil))
    sign = string(h.Sum(nil))
    fmt.Println("sign:", fmt.Sprintf("%s", h.Sum(nil)))

    //base64
    sign = base64.StdEncoding.EncodeToString([]byte(sign))
    fmt.Println("sign:", sign)

    auth := fmt.Sprintf("hmac id=\"%s\", algorithm=\"hmac-sha1\", headers=\"x-date source\", signature=\"%s\"", 
        secretId, sign)
    fmt.Println("auth:", auth)
        
    return auth, dateTime, nil
}

func main () {

    //云市场分配的密钥Id
    SecretId := "xxx"
    //云市场分配的密钥Key 
    SecretKey := "xxx"
    source := "source"

    sign, dateTime, err := calcAuthorization(source, SecretId, SecretKey)
    if err != nil {
        fmt.Println(err)
        return
    }

    defaultDomain := "service-mtp5t0zs-1256142414.ap-guangzhou.apigateway.myqcloud.com"
    path := "/long/compare"
    url := "https://service-mtp5t0zs-1256142414.ap-guangzhou.apigateway.myqcloud.com/release"
    reqUrl := url + path
    client := &http.Client{
        Timeout: 7 * time.Second,//set timeout
    }

    postData = "";
    req, err := http.NewRequest("POST", reqUrl, postData) //set body
    if err != nil {
        fmt.Println(err)        
        return 
    }

    req.Header.Set("Content-Type", "application/x-www-form-urlencoded")
    req.Header.Set("Accept", "*/*")
    req.Header.Set("Accept-Charset", "utf-8;")
    req.Header.Set("Host", defaultDomain)
    req.Header.Set("Source", source)
    req.Header.Set("X-Date", dateTime)
    req.Header.Set("Authorization", sign)

    resp, err := client.Do(req)
    if err != nil {
        fmt.Println(err)        
        return 
    }
    defer resp.Body.Close()

    fmt.Println("status code:", resp.StatusCode)
    
    //get resp header
    var headerMsg string
    for key, _ := range resp.Header {
        headerMsg += fmt.Sprintf("\n%s:%s", key, resp.Header.Get(key))
    }
    fmt.Println(headerMsg)

    body, err := ioutil.ReadAll(resp.Body)
    if err != nil {
        fmt.Println(err)        
        return 
    }

    fmt.Println(string(body))
    
}
import java.io.*;
import java.io.UnsupportedEncodingException;
import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;
import javax.crypto.Mac;
import javax.crypto.spec.SecretKeySpec;
import java.text.SimpleDateFormat;
import java.util.*;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.URL;
import java.net.URLConnection;
import java.net.HttpURLConnection;
import sun.misc.BASE64Encoder;

class test 
{
    public static String sign(String secret, String timeStr) 
        throws NoSuchAlgorithmException, UnsupportedEncodingException, InvalidKeyException {
        //get signStr
        String signStr = "date: " + timeStr + "\n" + "source: " + "source";
        //get sig
        String sig = null;
        Mac mac1 = Mac.getInstance("HmacSHA1");
        byte[] hash;
        SecretKeySpec secretKey = new SecretKeySpec(secret.getBytes("UTF-8"), mac1.getAlgorithm());
        mac1.init(secretKey);
        hash = mac1.doFinal(signStr.getBytes("UTF-8"));
        sig = new BASE64Encoder().encode(hash);
        System.out.println("signValue--->" + sig);
        return sig;
    }

    public static void main(String[] args) {
        String result = "";
        BufferedReader in = null;

        //get current GMT time
        Calendar cd = Calendar.getInstance(); 
        SimpleDateFormat sdf = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss 'GMT'", Locale.US); 
        sdf.setTimeZone(TimeZone.getTimeZone("GMT")); 
        String timeStr = sdf.format(cd.getTime()); 

        String host = "service-mtp5t0zs-1256142414.ap-guangzhou.apigateway.myqcloud.com";  
        String path = "/long/compare";
        String url = "https://service-mtp5t0zs-1256142414.ap-guangzhou.apigateway.myqcloud.com/release";
        url = url + path;
        String source = "source"; 
        String postData = '';

        //云市场分配的密钥Id
        String secretId = "xxx";
        //云市场分配的密钥Key 
        String secretKey = "xxx";

        try {
            String urlNameString = url;
            URL realUrl = new URL(urlNameString);
            // 打开和URL之间的连接
            URLConnection connection = realUrl.openConnection();
            HttpURLConnection httpUrlCon = (HttpURLConnection)connection;
            httpUrlCon.setRequestMethod("POST");
            httpUrlCon.setDoOutput(true);
            httpUrlCon.setDoInput(true);
            PrintWriter printWriter = new PrintWriter(httpUrlCon.getOutputStream());
            httpUrlCon.setRequestProperty("Content-Length", postData.length());
            OutputStream outwritestream = httpUrlCon.getOutputStream();
            outwritestream.write(postData);
            outwritestream.flush();
            outwritestream.close();
            
            // 设置通用的请求属性
            httpUrlCon.setRequestProperty("Host", host);
            httpUrlCon.setRequestProperty("Accept", "text/html, */*; q=0.01");
            httpUrlCon.setRequestProperty("Source", source );
            httpUrlCon.setRequestProperty("Date", timeStr);
            String sig = sign(secretKey,timeStr);
            String authen = "hmac id=\"" + secretId + "\", algorithm=\"hmac-sha1\", headers=\"date source\", signature=\"" + sig + "\"";
            System.out.println("authen --->" + authen);
            httpUrlCon.setRequestProperty("Authorization", authen);
            httpUrlCon.setRequestProperty("X-Requested-With", "XMLHttpRequest");
            httpUrlCon.setRequestProperty('Content-Type', 'application/x-www-form-urlencoded');
            httpUrlCon.setRequestProperty("Accept-Encoding", "gzip, deflate, sdch");
            // 建立实际的连接
            httpUrlCon.connect();
            // 获取所有响应头字段
            Map<String, List<String>> map = httpUrlCon.getHeaderFields();
            // 遍历所有的响应头字段
            for (String key : map.keySet()) {
                System.out.println(key + "--->" + map.get(key));
            }
            // 定义 BufferedReader输入流来读取URL的响应
            in = new BufferedReader(new InputStreamReader(
            httpUrlCon.getInputStream()));
            String line;
            while ((line = in.readLine()) != null) {
                result += line;
            }

            System.out.println(result);

        } catch (Exception e) {
            System.out.println("发送GET请求出现异常!" + e);
            e.printStackTrace();
        }
        // 使用finally块来关闭输入流
        finally {
            try {
                if (in != null) {
                    in.close();
                }
            } catch (Exception e2) {
                e2.printStackTrace();
            }
        }
    }
}
/**
 * npm install crypto-js axios
 */
var CryptoJS = require("crypto-js");
var axios = require('axios');

var nowDate = new Date(); 
var dateTime = nowDate.toGMTString();

var host = "service-mtp5t0zs-1256142414.ap-guangzhou.apigateway.myqcloud.com";  
var path = "/long/compare";
var url = "https://service-mtp5t0zs-1256142414.ap-guangzhou.apigateway.myqcloud.com/release";
url = url + path;
var source = "source"; 

var postData = '';

//云市场分配的密钥Id
var secretId = "xxx";
//云市场分配的密钥Key 
var secretKey = "xxx";

var auth = "hmac id=\"" + secretId + "\", algorithm=\"hmac-sha1\", headers=\"x-date source\", signature=\"";
var signStr = "x-date: " + dateTime + "\n" + "source: " + source;
var sign = CryptoJS.HmacSHA1(signStr, secretKey)
console.log(sign.toString())
sign = CryptoJS.enc.Base64.stringify(sign)
sign = auth + sign + "\""
console.log(sign)

var instance = axios.create({
    baseURL: url,
    timeout: 5000,
    method: 'post',
    data: postData
    headers: {
                "Source":source,
                "X-date":dateTime,
                "Authorization":sign,
                "Content-Type":"application/x-www-form-urlencoded"
    },
    withCredentials: true
});


instance.get()
.then(function (response) {
        console.log(response);
    })
    .catch(function (error) {
        console.log(error);
    });

正常返回示例

{
  "data": {
    "cmpResultList": [
      {
//声纹id
        "cmpVecId": "string",
//声纹得分
        "score": 0
      }
    ],
//当得分超过 thresholdScore 认为两个声纹属于同一个人
    "thresholdScore": 0
  },
  "errorDesc": "",
  "errorId": "",
  "hasError": false
}

失败返回示例

{
  "hasError": true,
  "errorId": "LOGINC_ERROR",
  "errorDesc": "vecid错误,请重试",
  "data": {}
}

返回码定义

返回码
返回信息
描述
无参数

长自由比对注册向量

调用地址:https://service-mtp5t0zs-1256142414.ap-guangzhou.apigateway.myqcloud.com/release/long/vecforcompare

请求方式:POST

返回类型:JSON

API调用: API调用说明(secret_id & secret_key)

去调试

请求参数(Headers)

名称
类型
是否必须
描述
Authorization
string
用于腾讯云做鉴权,详细可以见sdk
Date
string
用于腾讯云做鉴权,详细可以见sdk
Source
string
用于腾讯云做鉴权,详细可以见sdk

请求参数(Qurey)

名称
类型
是否必须
描述
暂无数据

请求参数(Body)

名称
类型
是否必须
描述
暂无数据

请求示例

import urllib2, ssl, datetime, hmac, base64, hashlib

host = 'service-mtp5t0zs-1256142414.ap-guangzhou.apigateway.myqcloud.com'
url = 'https://service-mtp5t0zs-1256142414.ap-guangzhou.apigateway.myqcloud.com/release'
path = '/long/vecforcompare'
source = 'source'
method ='POST'
GMT_FORMAT = '%a, %d %b %Y %H:%M:%S GMT'

#云市场分配的密钥Id
SecretId='xxx'
#云市场分配的密钥Key
SecretKey='xxx'
dateTime = datetime.datetime.utcnow().strftime(GMT_FORMAT)
auth = "hmac id=\"" + SecretId + "\", algorithm=\"hmac-sha1\", headers=\"date source\", signature=\""
signStr = "date: " + dateTime + "\n" + "source: " + source
sign = hmac.new(SecretKey, signStr, hashlib.sha1).digest()
sign = base64.b64encode(sign)
sign = auth + sign + "\""

url = url + path

postData = ''

request = urllib2.Request(url, postData)

request.add_header('Authorization', sign)
request.add_header('Host', host)
request.add_header('Source', 'source')
request.add_header('Date', dateTime)
request.add_header('Content-Type', 'application/x-www-form-urlencoded')
request.add_header('X-Requested-With', 'XMLHttpRequest')
ctx = ssl.create_default_context()
ctx.check_hostname = False
ctx.verify_mode = ssl.CERT_NONE
response = urllib2.urlopen(request, context=ctx)
content = response.read()
if (content):
    print(content)
curl -v -X POST https://service-mtp5t0zs-1256142414.ap-guangzhou.apigateway.myqcloud.com/release/long/vecforcompare -H 'Host:service-mtp5t0zs-1256142414.ap-guangzhou.apigateway.myqcloud.com' -H 'Source:source' -H 'Date:Mon, 19 Mar 2018 12:08:40 GMT' -H 'Authorization:hmac id = "AKIDi6qE41WgJ9w8h4h9zq68Vq24d1beIuN0qIwU", algorithm = "hmac-sha1", headers = "date source", signature = yMCxXNytW5nvVGNZ8aBtRxmiLJ4=' -H 'X-Requested-With:XMLHttpRequest' -H 'Authorization:'-H 'Date:'-H 'Source:'
//请用云市场分配给您的密钥计算签名并放入请求头,Date为当前的GMT时间
<?php
$host = 'service-mtp5t0zs-1256142414.ap-guangzhou.apigateway.myqcloud.com';
$url = 'https://service-mtp5t0zs-1256142414.ap-guangzhou.apigateway.myqcloud.com/release';
$path = '/long/vecforcompare';
$method = 'POST';
$source = 'source';

#云市场分配的密钥Id
$SecretId='xxx';
#云市场分配的密钥Key
$SecretKey='xxx';
$dateTime = gmdate('D, d M Y H:i:s T');
$auth = 'hmac id="' . $SecretId . '", algorithm="hmac-sha1", headers="date source", signature="';
$signStr = 'date: ' . $dateTime . "\n" . 'source: ' . $source;
$sign = base64_encode(hash_hmac('sha1', $signStr, $SecretKey, true));
$sign = $auth . $sign . '"';

$url = $url . $path;

$postData = '';

$headers = array( 
    "Host: $host",
    'Accept: text/html, */*; q=0.01',
    "Source: $source",
    "Date: $dateTime",
    "Authorization: $sign",
    'X-Requested-With: XMLHttpRequest',
    'Accept-Encoding: gzip, deflate, sdch',
    'Content-Type: application/x-www-form-urlencoded'
);

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, $url); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($ch, CURLOPT_TIMEOUT, 60); 
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); 
curl_setopt($ch, CURLOPT_POST, true);

curl_setopt($ch, CURLOPT_POSTFIELDS, $postData);

$data = curl_exec($ch); 
if (curl_errno($ch)) { 
    echo "Error: " . curl_error($ch); 
} else { 
    // Show me the result 
    var_dump($data); 
    curl_close($ch); 
}
using System.IO;
using System.Text;
using System.Net;
using System.Net.Security;
using System.Security.Cryptography;
using System.Security.Cryptography.X509Certificates;
using System;

public class CsharpTest
{
    public static String HMACSHA1Text(String EncryptText, String EncryptKey)
    {            
            HMACSHA1 hmacsha1 = new HMACSHA1();
            hmacsha1.Key = System.Text.Encoding.UTF8.GetBytes(EncryptKey);

            byte[] dataBuffer = System.Text.Encoding.UTF8.GetBytes(EncryptText);
            byte[] hashBytes = hmacsha1.ComputeHash(dataBuffer);
            return Convert.ToBase64String(hashBytes);
    }

    public static void Main(String[] args)
    {
        String url = "https://service-mtp5t0zs-1256142414.ap-guangzhou.apigateway.myqcloud.com/release";   
        String host = "service-mtp5t0zs-1256142414.ap-guangzhou.apigateway.myqcloud.com";
        String path = "/long/vecforcompare";
        String method = "POST";
        String source = "source";
        String postData = "";
        
        //云市场分配的密钥Id
        String  secretId = "xxx";
        //云市场分配的密钥Key       
        String  secretKey = "xxx";

        String dt = DateTime.UtcNow.GetDateTimeFormats('r')[0]; //Mon, 19 Mar 2018 12:00:44 GMT
        url = url + path;    
        
        String signStr = "x-date: " + dt + "\n" + "source: " + source;
        String sign = HMACSHA1Text(signStr, secretKey);
        
        String auth = "hmac id=\"" + secretId + "\", algorithm=\"hmac-sha1\", headers=\"x-date source\", signature=\"";        
        auth = auth + sign + "\"";
        Console.WriteLine(auth + "\n");

        HttpWebRequest httpRequest = null;
        HttpWebResponse httpResponse = null;

        if (url.Contains("https://"))
        {
            ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(CheckValidationResult);
            httpRequest = (HttpWebRequest)WebRequest.CreateDefault(new Uri(url));
        }
        else
        {
            httpRequest = (HttpWebRequest)WebRequest.Create(url);
        }
            
        httpRequest.Method = method;
        httpRequest.ContentLength = requestBodys.Length;
        httpRequest.ContentType = "application/x-www-form-urlencoded";
        httpRequest.Headers.Add("Authorization", auth);
        httpRequest.Headers.Add("Source", source);
        httpRequest.Headers.Add("X-date", dt);
        httpRequest.GetRequestStream().Write(System.Text.Encoding.ASCII.GetBytes(postData), 0, postData.Length);

        try
        {
            httpResponse = (HttpWebResponse)httpRequest.GetResponse();
        }
        catch (WebException ex)
        {
            httpResponse = (HttpWebResponse)ex.Response;
        }

        Console.WriteLine(httpResponse.StatusCode);
        Console.WriteLine(httpResponse.Headers);
        Stream st = httpResponse.GetResponseStream();
        StreamReader reader = new StreamReader(st, Encoding.GetEncoding("utf-8"));
        Console.WriteLine(reader.ReadToEnd());
        Console.WriteLine("\n");

    }

    public static bool CheckValidationResult(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors errors)
    {
        return true;
    }
}
package main

import (
    "time"
    "fmt"
    "crypto/hmac"
    "crypto/sha1"
    "io"
    "io/ioutil"
    "encoding/base64"
    "net/http"
)


func calcAuthorization(source string, secretId string, secretKey string) (sign string, dateTime string, err error) {
    timeLocation, _ := time.LoadLocation("Etc/GMT")
    dateTime = time.Now().In(timeLocation).Format("Mon, 02 Jan 2006 15:04:05 GMT")
    sign = fmt.Sprintf("x-date: %s\nsource: %s", dateTime, source)
    fmt.Println(sign)

    //hmac-sha1
    h := hmac.New(sha1.New, []byte(secretKey))
    io.WriteString(h, sign)
    sign = fmt.Sprintf("%x", h.Sum(nil))
    sign = string(h.Sum(nil))
    fmt.Println("sign:", fmt.Sprintf("%s", h.Sum(nil)))

    //base64
    sign = base64.StdEncoding.EncodeToString([]byte(sign))
    fmt.Println("sign:", sign)

    auth := fmt.Sprintf("hmac id=\"%s\", algorithm=\"hmac-sha1\", headers=\"x-date source\", signature=\"%s\"", 
        secretId, sign)
    fmt.Println("auth:", auth)
        
    return auth, dateTime, nil
}

func main () {

    //云市场分配的密钥Id
    SecretId := "xxx"
    //云市场分配的密钥Key 
    SecretKey := "xxx"
    source := "source"

    sign, dateTime, err := calcAuthorization(source, SecretId, SecretKey)
    if err != nil {
        fmt.Println(err)
        return
    }

    defaultDomain := "service-mtp5t0zs-1256142414.ap-guangzhou.apigateway.myqcloud.com"
    path := "/long/vecforcompare"
    url := "https://service-mtp5t0zs-1256142414.ap-guangzhou.apigateway.myqcloud.com/release"
    reqUrl := url + path
    client := &http.Client{
        Timeout: 7 * time.Second,//set timeout
    }

    postData = "";
    req, err := http.NewRequest("POST", reqUrl, postData) //set body
    if err != nil {
        fmt.Println(err)        
        return 
    }

    req.Header.Set("Content-Type", "application/x-www-form-urlencoded")
    req.Header.Set("Accept", "*/*")
    req.Header.Set("Accept-Charset", "utf-8;")
    req.Header.Set("Host", defaultDomain)
    req.Header.Set("Source", source)
    req.Header.Set("X-Date", dateTime)
    req.Header.Set("Authorization", sign)

    resp, err := client.Do(req)
    if err != nil {
        fmt.Println(err)        
        return 
    }
    defer resp.Body.Close()

    fmt.Println("status code:", resp.StatusCode)
    
    //get resp header
    var headerMsg string
    for key, _ := range resp.Header {
        headerMsg += fmt.Sprintf("\n%s:%s", key, resp.Header.Get(key))
    }
    fmt.Println(headerMsg)

    body, err := ioutil.ReadAll(resp.Body)
    if err != nil {
        fmt.Println(err)        
        return 
    }

    fmt.Println(string(body))
    
}
import java.io.*;
import java.io.UnsupportedEncodingException;
import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;
import javax.crypto.Mac;
import javax.crypto.spec.SecretKeySpec;
import java.text.SimpleDateFormat;
import java.util.*;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.URL;
import java.net.URLConnection;
import java.net.HttpURLConnection;
import sun.misc.BASE64Encoder;

class test 
{
    public static String sign(String secret, String timeStr) 
        throws NoSuchAlgorithmException, UnsupportedEncodingException, InvalidKeyException {
        //get signStr
        String signStr = "date: " + timeStr + "\n" + "source: " + "source";
        //get sig
        String sig = null;
        Mac mac1 = Mac.getInstance("HmacSHA1");
        byte[] hash;
        SecretKeySpec secretKey = new SecretKeySpec(secret.getBytes("UTF-8"), mac1.getAlgorithm());
        mac1.init(secretKey);
        hash = mac1.doFinal(signStr.getBytes("UTF-8"));
        sig = new BASE64Encoder().encode(hash);
        System.out.println("signValue--->" + sig);
        return sig;
    }

    public static void main(String[] args) {
        String result = "";
        BufferedReader in = null;

        //get current GMT time
        Calendar cd = Calendar.getInstance(); 
        SimpleDateFormat sdf = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss 'GMT'", Locale.US); 
        sdf.setTimeZone(TimeZone.getTimeZone("GMT")); 
        String timeStr = sdf.format(cd.getTime()); 

        String host = "service-mtp5t0zs-1256142414.ap-guangzhou.apigateway.myqcloud.com";  
        String path = "/long/vecforcompare";
        String url = "https://service-mtp5t0zs-1256142414.ap-guangzhou.apigateway.myqcloud.com/release";
        url = url + path;
        String source = "source"; 
        String postData = '';

        //云市场分配的密钥Id
        String secretId = "xxx";
        //云市场分配的密钥Key 
        String secretKey = "xxx";

        try {
            String urlNameString = url;
            URL realUrl = new URL(urlNameString);
            // 打开和URL之间的连接
            URLConnection connection = realUrl.openConnection();
            HttpURLConnection httpUrlCon = (HttpURLConnection)connection;
            httpUrlCon.setRequestMethod("POST");
            httpUrlCon.setDoOutput(true);
            httpUrlCon.setDoInput(true);
            PrintWriter printWriter = new PrintWriter(httpUrlCon.getOutputStream());
            httpUrlCon.setRequestProperty("Content-Length", postData.length());
            OutputStream outwritestream = httpUrlCon.getOutputStream();
            outwritestream.write(postData);
            outwritestream.flush();
            outwritestream.close();
            
            // 设置通用的请求属性
            httpUrlCon.setRequestProperty("Host", host);
            httpUrlCon.setRequestProperty("Accept", "text/html, */*; q=0.01");
            httpUrlCon.setRequestProperty("Source", source );
            httpUrlCon.setRequestProperty("Date", timeStr);
            String sig = sign(secretKey,timeStr);
            String authen = "hmac id=\"" + secretId + "\", algorithm=\"hmac-sha1\", headers=\"date source\", signature=\"" + sig + "\"";
            System.out.println("authen --->" + authen);
            httpUrlCon.setRequestProperty("Authorization", authen);
            httpUrlCon.setRequestProperty("X-Requested-With", "XMLHttpRequest");
            httpUrlCon.setRequestProperty('Content-Type', 'application/x-www-form-urlencoded');
            httpUrlCon.setRequestProperty("Accept-Encoding", "gzip, deflate, sdch");
            // 建立实际的连接
            httpUrlCon.connect();
            // 获取所有响应头字段
            Map<String, List<String>> map = httpUrlCon.getHeaderFields();
            // 遍历所有的响应头字段
            for (String key : map.keySet()) {
                System.out.println(key + "--->" + map.get(key));
            }
            // 定义 BufferedReader输入流来读取URL的响应
            in = new BufferedReader(new InputStreamReader(
            httpUrlCon.getInputStream()));
            String line;
            while ((line = in.readLine()) != null) {
                result += line;
            }

            System.out.println(result);

        } catch (Exception e) {
            System.out.println("发送GET请求出现异常!" + e);
            e.printStackTrace();
        }
        // 使用finally块来关闭输入流
        finally {
            try {
                if (in != null) {
                    in.close();
                }
            } catch (Exception e2) {
                e2.printStackTrace();
            }
        }
    }
}
/**
 * npm install crypto-js axios
 */
var CryptoJS = require("crypto-js");
var axios = require('axios');

var nowDate = new Date(); 
var dateTime = nowDate.toGMTString();

var host = "service-mtp5t0zs-1256142414.ap-guangzhou.apigateway.myqcloud.com";  
var path = "/long/vecforcompare";
var url = "https://service-mtp5t0zs-1256142414.ap-guangzhou.apigateway.myqcloud.com/release";
url = url + path;
var source = "source"; 

var postData = '';

//云市场分配的密钥Id
var secretId = "xxx";
//云市场分配的密钥Key 
var secretKey = "xxx";

var auth = "hmac id=\"" + secretId + "\", algorithm=\"hmac-sha1\", headers=\"x-date source\", signature=\"";
var signStr = "x-date: " + dateTime + "\n" + "source: " + source;
var sign = CryptoJS.HmacSHA1(signStr, secretKey)
console.log(sign.toString())
sign = CryptoJS.enc.Base64.stringify(sign)
sign = auth + sign + "\""
console.log(sign)

var instance = axios.create({
    baseURL: url,
    timeout: 5000,
    method: 'post',
    data: postData
    headers: {
                "Source":source,
                "X-date":dateTime,
                "Authorization":sign,
                "Content-Type":"application/x-www-form-urlencoded"
    },
    withCredentials: true
});


instance.get()
.then(function (response) {
        console.log(response);
    })
    .catch(function (error) {
        console.log(error);
    });

正常返回示例

{
  "data": {
//这个是生成好的声纹唯一id,用来比对
    "vecId": "f0320a44-1f6c-41e1-9d9b-481f882bbb81"
  },
  "errorDesc": "",
  "errorId": "",
  "hasError": false
}

失败返回示例

{
  "hasError": true,
  "errorId": "LOGINC_ERROR",
  "errorDesc": "文件个数太少,请重试",
  "data": {}
}

返回码定义

返回码
返回信息
描述
无参数
产品详情

商品文档

名称:长句模型SDK与API说明 下载

商品详情

接口调试请下载页面底部SDK包与API文档
2983856697a310df96666020ad2cab78.jpg
评价详情
暂无评价
购买记录
联系电话

32987464

联系客服
请提前登录QQ,以获得更好体验

SpeakIn客服

服务时间

09:00-18:00

联系邮箱

kefu@speakin.mobi

1 10元
立即购买
联系方式

联系电话

32987464

在线客服

SpeakIn客服

服务时间

09:00-18:00

联系邮箱

kefu@speakin.mobi
必须同意使用协议才可购买