热门搜索 : 电子合同   签署   产品
首页 > 文档中心 > 动作活体检测 > 示范代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
<?php
//https协议是否需要验证证书
define('SSL_VERIFYPEER', true);
 
$key="您申请的key,在会员中心->我的数据->对应数据的下方";
$url="https://v.1dq.com/api/Face/actionLiv";
$param["appid"]="您的appid,在会员中心->安全设置->对应数据->appid";
$param['video_base64'] = '';
$param['code'] = '';
$param['save_face'] = '';
ksort($param); //对字符串进行字典(a-z)排序,需排除sign字段;
$param["sign"] = md5(urlencode(http_build_query($param)).$key); //生成sign
 
 
//发送远程请求;
$result = APIStore($url, $param, true);
 
if ($result['error_code'] == 0) {
    //处理成功
    echo $result['reason'];
 
} else {
    //处理失败
    echo $result['reason'];
}
//打印返回数据
print_r($result);
 
/**
 * APIStore 获取数据
 * @param $url 接口地址
 * @param null $param 要发送的数据
 * @param bool $ispost 是否采用POST发送,默认GET
 * @return mixed
 */
function APIStore($url, $param = null, $ispost = false)
{
 
    $curl = curl_init();
    curl_setopt($curl, CURLOPT_URL, $ispost ? $url : $url . '?' . http_build_query($param));
    //如果是https协议
    if (stripos($url, "https://") !== FALSE) {
        /**
         * 如果需要验证证书
         */
        if (SSL_VERIFYPEER) {
            //验证交换证书
            curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, true);
            //检查SSL证书公用名是否存在,并且是否与提供的主机名匹配
            curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 2);
            //设置实现协议为TLS1.0版本
            curl_setopt($curl, CURLOPT_SSLVERSION, CURL_SSLVERSION_TLSv1);
            //根证书文件路径,相对路径和绝对路径均可,
            //推荐使用绝对路径;为了安全证书文件最好不要和应用代码放在一起;
            //用户请保持更新 使用https接口需要设置该证书文件为可信任根证书,
            //以最大限度满足安全性(使用信任任何证书的方式并不安全)。
            curl_setopt($curl, CURLOPT_CAINFO, dirname(__FILE__) . '/cacert.pem');
        } /**
         * 如果不需要验证证书
         */
        else {
            curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
            curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);
            //CURL_SSLVERSION_TLSv1
            curl_setopt($curl, CURLOPT_SSLVERSION, 1);
        }
    }
 
    //USERAGENT
    curl_setopt($curl, CURLOPT_USERAGENT, 'APIStore');
    //超时时间
    curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 120);
    curl_setopt($curl, CURLOPT_TIMEOUT, 120);
    //通过POST方式提交
    if ($ispost) {
        curl_setopt($curl, CURLOPT_POST, true);
        curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($param));
    }
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    //返回内容
    $callbcak = curl_exec($curl);
    //关闭,释放资源
    curl_close($curl);
    //返回内容JSON_DECODE
    return json_decode($callbcak, true);
}