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

该版本由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();
?>
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值