您的位置:首页 > 编程语言 > Python开发

阿里云直播-php接口(python->php)

2016-08-10 11:35 176 查看
该版本由python->php

公共请求参数

https://help.aliyun.com/document_detail/27149.html?spm=5176.doc27148.6.154.YxaHaY

查询录制索引文件

https://help.aliyun.com/document_detail/35238.html?spm=5176.doc35237.6.235.j3qsVS

<?php
function percent_encode($res){
$res=trim(utf8_encode(urlencode($res)));
//$res=utf8_encode($res);
$res=str_replace(array('+','*','%7E'), array('%20','%2A','~'), $res);
return $res;
}
function uuid($prefix = '')
{
$chars = md5(uniqid(mt_rand(), true));
$uuid  = substr($chars,0,8) . '-';
$uuid .= substr($chars,8,4) . '-';
$uuid .= substr($chars,12,4) . '-';
$uuid .= substr($chars,16,4) . '-';
$uuid .= substr($chars,20,12);
return $prefix . $uuid;
}
function compute_signature($parameters, $access_key_secret){
ksort($parameters);
$canonicalizedQueryString = '';
foreach ($parameters as $k => $v) {
if(empty($canonicalizedQueryString))
$canonicalizedQueryString .= percent_encode($k) . '=' . percent_encode($v);
else
$canonicalizedQueryString .= '&' . percent_encode($k) . '=' . percent_encode($v);
}
//var_dump($canonicalizedQueryString);
$stringToSign = 'GET&%2F&' . percent_encode($canonicalizedQueryString);
//var_dump($stringToSign);
$signature=base64_encode(hash_hmac("sha1",$stringToSign,$access_key_secret."&",true));
return $signature;
}

function compose_url($user_params=''){
//$timestamp=strftime("%Y-%m-%dT%H:%M:%SZ",time());
$timestamp=gmdate("Y-m-d\TH:i:s\Z");
$access_key_id='xxx';
$access_key_secret='xxx';
$parameters = array(
'Format'        => 'JSON',
'Version'       => '2014-11-11',
'AccessKeyId'   => $access_key_id,
'SignatureVersion'  => '1.0',
'SignatureMethod'   => 'HMAC-SHA1',
'SignatureNonce'    => uuid(),
'TimeStamp'         => $timestamp,
'Action'            =>'DescribeLiveStreamRecordIndexFiles',//DescribeCdnService
'DomainName'        =>'xx.xx.xx',
'AppName'        =>'AppName',
'StreamName'        =>'StreamName',
'StartTime'         => '2016-08-01T00:00:00Z',
'EndTime'         =>'2016-08-09T08:05:06Z',

);
$signature = compute_signature($parameters, $access_key_secret);
$canonicalizedQueryString='Signature='.$signature;
foreach ($parameters as $k => $v) {
$canonicalizedQueryString .= '&' . $k . '=' . percent_encode($v);
}
var_dump("http://cdn.aliyuncs.com/?".$canonicalizedQueryString);

/*    $parameters['Signature'] = $signature;
$url="http://cdn.aliyuncs.com/?SignatureVersion=1.0&Format=JSON&TimeStamp=".urlencode($parameters['TimeStamp'])."&AccessKeyId=".$parameters['AccessKeyId']
."&SignatureMethod=HMAC-SHA1&Version=".$parameters['Version']."&Signature=".urlencode($parameters['Signature'])."&Action=".$parameters['Action']."&SignatureNonce=".$parameters['SignatureNonce'].'&AppName='.$parameters['AppName'].'&DomainName='.$parameters['DomainName'].'&StartTime='.urlencode($parameters['StartTime']).'&EndTime='.urlencode($parameters['EndTime']).'&StreamName='.$parameters['StreamName'];
var_dump($url);die();*/
return $url;
}

compose_url();
?>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息