ali媒体转码签名生成-php-创新互联

1.封装函数

创新互联专注于罗源网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供罗源营销型网站建设,罗源网站制作、罗源网页设计、罗源网站官网定制、小程序定制开发服务,打造罗源网络公司原创品牌,更为您提供罗源网站排名全网营销落地服务。

function composeUrl($AccessKeyId,$Format,$SignatureMethod,$SignatureVersion,$TimeFormat,$ActionName,$Version,$InputJson,$AccessSecret){

    $apiParams = array();

    $apiParams["AccessKeyId"] = $AccessKeyId;

    $apiParams["Format"] = $Format;

    $apiParams["SignatureMethod"] = $SignatureMethod;

    $apiParams["SignatureVersion"] = $SignatureVersion;

    $apiParams["SignatureNonce"] = uniqid();

    date_default_timezone_set("GMT");

    $apiParams["Timestamp"] = date($TimeFormat);

    $apiParams["Action"] = $ActionName;

    $apiParams["Version"] = $Version;

    $apiParams["Input"]= $InputJson;

    $apiParams["Signature"] = util::computeSignature($apiParams, $AccessSecret, $apiParams);

    $requestUrl = "http://mts.cn-shanghai.aliyuncs.com/?";

    foreach ($apiParams as $apiParamKey => $apiParamValue){

      $requestUrl .= "$apiParamKey=" . urlencode($apiParamValue) . "&";

    }

    return substr($requestUrl, 0, -1);

}

function computeSignature($parameters, $accessKeySecret, $iSigner){

    ksort($parameters);

    $canonicalizedQueryString = '';

    foreach($parameters as $key => $value){

      $canonicalizedQueryString .= '&' . util::percentEncode($key). '=' . util::percentEncode($value);

    }

    $stringToSign = 'GET&%2F&' . util::percentencode(substr($canonicalizedQueryString, 1));

    $signature = base64_encode(hash_hmac('sha1', $stringToSign, $accessKeySecret."&", true));

    return $signature;

}

function percentEncode($str){

    $res = urlencode($str);

    $res = preg_replace('/\+/', '%20', $res);

    $res = preg_replace('/\*/', '%2A', $res);

    $res = preg_replace('/%7E/', '~', $res);

    return $res;

}

2.调用函数并请求


$TimeFormat = 'Y-m-d\TH:i:s\Z';

$Format= 'JSON';

$Version = '2014-06-18';

$AccessKeyId = 'xxxxxxxxxxxxxxxx';//替换为你们在ali申请的Access Key ID

$AccessSecret = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx';//替换为你们在ali申请的Access Key Secret

$SignatureMethod = 'Hmac-SHA1';

$SignatureVersion = '1.0';

$ActionName = 'SubmitMediaInfoJob';

$InputJson = json_encode(array("Bucket"=>"test-2-20161024","Location"=>"oss-cn-shanghai","Object"=>"user-dir/avi.avi"));

$SubmitMediaInfoJobRequest = util::composeUrl($AccessKeyId,$Format,$SignatureMethod,$SignatureVersion,$TimeFormat,$ActionName,$Version,$InputJson,$AccessSecret);

print_r($SubmitMediaInfoJobRequest);

3.根据第2步生成的链接,直接复制到地址中进行请求即可看到结果.

4.注意:

  a.在步骤1的composeUrl函数中的requestUrl这个变量,需要与步骤2的转递参数Location中的所在区域操持一致,比如:$requestUrl = ""oss-cn-shanghai".这里面都有shanghai这个区域.">http://mts.cn-shanghai.aliyuncs.com/?";那么"Location"=>"oss-cn-shanghai".这里面都有shanghai这个区域.

ali 媒体转码签名生成-php

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


分享题目:ali媒体转码签名生成-php-创新互联
文章链接:http://azwzsj.com/article/dsojgh.html