lanfeng521

PHP腾讯云人脸核身 接口对接和签名设置

$secretKey = '你的secretKey';
	$srcStr = 'GETfaceid.tencentcloudapi.com/?';// 文档中示例是POST的 这里改成GET 这里踩个坑- -
	$param = [ 
	    "Action"=> 'DetectAuth',//默认
	    "Nonce"=> rand(1000,9999),
	    "SecretId"=>"你的secretId",
	    'Region'=>'ap-beijing',//区域列表中选
	    "Timestamp"=> time(),
	    'RuleId'=>'0',//自己创建的RuleID
	    "Token"=>'',//为空
	    "Version"=>'2018-03-01'//默认
	    ];  
	ksort($param); //参数排序
	
	//return json($param);
	
	$srcStr .= urldecode(http_build_query($param));
	
	
	//return $srcStr;

 //排序后连接字符串 生成签名 官网有验证签名的地方 签名不对的话 可以把时间戳和随机数写死之后校验
    $sign =  urlencode(base64_encode(hash_hmac('sha1', $srcStr, $secretKey, true)));;
    
   // return $sign;
 $url ='https://faceid.tencentcloudapi.com/?Action=DetectAuth&Nonce='.$param['Nonce'].'&Region=ap-beijing&RuleId=0&SecretId='.$param['SecretId'].'&Signature='.$sign.'&Timestamp='.$param['Timestamp'].'&Token=&Version=2018-03-01';

   
    $ch = curl_init();
		curl_setopt($ch, CURLOPT_URL, $url);
		curl_setopt($ch, CURLOPT_HEADER, false);
		curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
		curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
		
		curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.1 Safari/537.11');
		//curl_setopt($ch, CURLOPT_POST, 1);
		$res = curl_exec($ch);
		
		
		$rescode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
		curl_close($ch);
    	$result = json_decode($res,true);
		return $res;


引用:https://www.it610.com/article/1282052778855776256.htm

posted on 2020-12-04 15:37  lanfeng521  阅读(404)  评论(0编辑  收藏  举报

导航