php 框架视频,腾讯音视频 TRTC

namespace trc;

// 腾讯音视频

class trc{

private $secretId = 'AKIDyDGxubFJtGRN6EKk8rPjmYswmlsiLXXS 111';

private $secretKey = 'qQozwhFSM0NUnriKdgXCnFUTBdpoW07y';

public function __construct($secretId=null, $secretKey=null) {

if ($secretId) $this->secretId = $secretId;

if ($secretKey) $this->secretKey = $secretKey;

}

// 生成授权链接

public function get_sha(){

$host = "cvm.tencentcloudapi.com";

$service = "cvm";

$version = "2017-03-12";

$action = "DescribeInstances";

$region = "ap-guangzhou";

$timestamp = time();

$algorithm = "TC3-HMAC-SHA256";

// step 1: 生成规范请求字符串

$httpRequestMethod = "POST";

$canonicalUri = "/";

$canonicalQueryString = "";

$canonicalHeaders = "content-type:application/json; charset=utf-8\n"."host:".$host."\n";

$signedHeaders = "content-type;host";

$payload = '{"Limit": 1, "Filters": [{"Values": ["\u672a\u547d\u540d"], "Name": "instance-name"}]}';

$hashedRequestPayload = hash("SHA256", $payload);

$canonicalRequest = $httpRequestMethod."\n"

.$canonicalUri."\n"

.$canonicalQueryString."\n"

.$canonicalHeaders."\n"

.$signedHeaders."\n"

.$hashedRequestPayload;

// echo $canonicalRequest.PHP_EOL;

// step 2: 生成要签名的字符串

$date = gmdate("Y-m-d", $timestamp);

$credentialScope = $date."/".$service."/tc3_request";

$hashedCanonicalRequest = hash("SHA256", $canonicalRequest);

$stringToSign = $algorithm."\n"

.$timestamp."\n"

.$credentialScope."\n"

.$hashedCanonicalRequest;

// echo $stringToSign.PHP_EOL;

// step 3: 签名字符串

$secretDate = hash_hmac("SHA256", $date, "TC3".$this->secretKey, true);

$secretService = hash_hmac("SHA256", $service, $secretDate, true);

$secretSigning = hash_hmac("SHA256", "tc3_request", $secretService, true);

$signature = hash_hmac("SHA256", $stringToSign, $secretSigning);

// echo $signature.PHP_EOL;

// step 4: 生成授权

$authorization = $algorithm

." Credential=".$this->secretId."/".$credentialScope

.", SignedHeaders=content-type;host, Signature=".$signature;

// echo $authorization.PHP_EOL;

$curl = "curl -X POST https://".$host

.' -H "Authorization: '.$authorization.'"'

.' -H "Content-Type: application/json; charset=utf-8"'

.' -H "Host: '.$host.'"'

.' -H "X-TC-Action: '.$action.'"'

.' -H "X-TC-Timestamp: '.$timestamp.'"'

.' -H "X-TC-Version: '.$version.'"'

.' -H "X-TC-Region: '.$region.'"'

." -d '".$payload."'";

return $curl.PHP_EOL;

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值