PHP接入腾讯云调用人像接口
$secretId = "aaaa";
$secretKey = "cccccc";
$host = "ft.tencentcloudapi.com";//根据需求填写
$service = "ft";//根据需求填写
$version = "2020-03-04";//根据需求填写
$action = "FaceCartoonPic";//根据需求填写
$region = "ap-guangzhou";//根据需求填写
$timestamp = time();
$algorithm = "TC3-HMAC-SHA256";
$httpRequestMethod = "POST";
$canonicalUri = "/";
$canonicalQueryString = "";
$canonicalHeaders = "content-type:application/json; charset=utf-8\n"."host:".$host."\n";
$signedHeaders = "content-type;host";
$payload = json_encode(['Image'=>$str,'RspImgType'=>'url']);
$hashedRequestPayload = hash("SHA256", $payload);
$canonicalRequest = $httpRequestMethod."\n"
.$canonicalUri."\n"
.$canonicalQueryString."\n"
.$canonicalHeaders."\n"
.$signedHeaders."\n"
.$hashedRequestPayload;
$date = gmdate("Y-m-d", $timestamp);
$credentialScope = $date."/".$service."/tc3_request";
$hashedCanonicalRequest = hash("SHA256", $canonicalRequest);
$stringToSign = $algorithm."\n"
.$timestamp."\n"
.$credentialScope."\n"
.$hashedCanonicalRequest;
$secretDate = hash_hmac("SHA256", $date, "TC3".$secretKey, true);
$secretService = hash_hmac("SHA256", $service, $secretDate, true);
$secretSigning = hash_hmac("SHA256", "tc3_request", $secretService, true);
$signature = hash_hmac("SHA256", $stringToSign, $secretSigning);
$authorization = $algorithm
." Credential=".$secretId."/".$credentialScope
.",SignedHeaders=content-type;host,Signature=".$signature;
$url = "https://ft.tencentcloudapi.com";
function curl($url, $params = false, $ispost = 0,$header)
{
$httpInfo = [];
$ch = curl_init();
curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 3);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
curl_setopt($ch, CURLOPT_TIMEOUT, 12);
if ($ispost) {
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $params);
curl_setopt($ch, CURLOPT_URL, $url);
} else {
if ($params) {
curl_setopt($ch, CURLOPT_URL, $url . '?' . $params);
} else {
curl_setopt($ch, CURLOPT_URL, $url);
}
}
$response = curl_exec($ch);
if ($response === FALSE) {
echo "cURL Error: ".curl_error($ch);
return false;
}
curl_setopt($ch, CURLOPT_ENCODING, '');
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
$httpInfo = array_merge($httpInfo, curl_getinfo($ch));
curl_close($ch);
return $response;
}
$header = array(
"Authorization:".$authorization,
"Content-Type:".'application/json;charset=utf-8',
"Host:".$host,
"X-TC-Action:".$action,
"X-TC-Timestamp:".$timestamp,
"X-TC-Version:".$version,
"X-TC-Region:".$region
);
(curl($url,$payload,1,$header));