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 = "http://mts.cn-shanghai.aliyuncs.com/?";那么"Location"=>"oss-cn-shanghai".这里面都有shanghai这个区域.
转载于:https://blog.51cto.com/suyanzhu/1868816
ali 媒体转码签名生成-php相关推荐
- php+rsa生成签名sign,PHP 做 RSA 签名 生成订单(支付宝例子)
/组合签名 $a=time(); $b=substr($a, 1); //生成随机订单号 $orderid= $b.mt_rand(10000,99999); //合作身份者id,以2088开头的16 ...
- 阿里云媒体转码MTS使用教程
什么是媒体处理? 媒体处理(ApsaraVideo for Media Processing,原MTS)是一种多媒体数据处理服务.它以经济.弹性和高可扩展的音视频转换方法,帮助您将存储于OSS的音视频 ...
- 阿里媒体转码公共参数_Xuggler教程:转码和媒体修改
阿里媒体转码公共参数 注意:这是我们的" Xuggler开发教程 "系列的一部分. 在上一教程中,我对视频处理Xuggler进行了简短介绍 . 在这一部分中,我们将看到Xuggle ...
- 微信公众号二维码怎么生成?好用的生成方法介绍
微信公众号二维码怎么生成?从事新媒体行业的小伙伴们应该都对微信公众号不陌生吧,公众号是一个企业对外宣传的重要方式之一.通常情况下我们都会将公众号的二维码放置在文章的文末.以便于读者扫码关注公众号.那么 ...
- android 10.0 在系统源码下生成jks系统签名文件
在系统开发中,会遇到在app在线升级的时候,会升级失败,由于app自己用自己的签名文件签名的 所以会和系统签名文件不一样,导致会出现一些问题 所以为了解决这一个问题 就得使用系统生成的签名文件 给ap ...
- PHP签名生成的通用步骤
签名生成的通用步骤如下 第一步,设所有发送或者接收到的数据为集合M,将集合M内非空参数值的参数按照参数名ASCII码从小到大排序(字典序),使用URL键值对的格式(即key1=value1&k ...
- [微信]微信JS-SDK权限签名生成及验证
目录 一.获取access_token 二.获取jsapi_ticket 三.拼接参数,SHA-1加密获取签名 四.验证签名 在使用微信的分享.图片等众多功能时,通常需要在config接口注入权限验证 ...
- 支付宝签名php,PHP实现RSA签名生成订单功能【支付宝示例】
PHP实现RSA签名生成订单功能[支付宝示例] 来源:中文源码网 浏览: 次 日期:2018年9月2日 [下载文档: PHP实现RSA签名生成订单功能[支付宝示例].txt ] (友情提 ...
- python 工行e企付、工行签名生成、工行私钥PKCS8转PKCS1例子
工行有java.python.C#的SDK,项目是用python写的,遇到的坑先列举起来 1.工行给的私钥是PKCS8格式,这个是java专用的,其他语言需要转为PKCS1格式,推荐网上是链接: 在线 ...
- 关于Unity调用摄像头扫描二维码与生成二维码的实现方法
1.常用的生成二维码网址 https://cli.im/ 2.上官网下载二维码插件 http://zxingnet.codeplex.com/ 3.将下载的插件中zxing.unity.dll文件放入 ...
最新文章
- 【人物】乔布斯:A级人才的自尊心不需要你呵护
- python教程:列表(list)、元组(tuple)、字典(dict)
- linux挂载固硬盘装,linux下安装新硬盘并挂载mount
- Java黑皮书课后题第2章:2.9(物理:加速度)平均加速度定义为速度的变化量除以这个变化所用的时间,编写程序,提示用户输入以米/秒为单位的起始速度v0,以米/秒为单位的终止速度v1,显示平均加速度
- spark中各类key算子的用法汇总(持续更新中)
- captcha库_将CAPTCHA添加到您的GWT应用程序
- 双非计算机考研推荐学校传菜电梯,22考研双非院校排名Top100,前3名竟然是这几所!...
- 怎么设置服务器上的文件夹密码,文件服务器怎么设置文件夹密码
- Struts2学习笔记(八) 拦截器(Interceptor)(上)
- jquery淡入淡出效果及突出显示案例
- kafka事务操作案例演示
- CNBlog客户端--第一阶段记录
- 能力提升综合题单 Part 8.7 图的连通性相关
- linux 命令学习
- 浪潮服务器系统驱动,浪潮英信服务器驱动(最新更新)浪潮网卡驱动
- ssh框架 mysql 配置文件_SSH框架与配置文件的简单搭建
- C语言小游戏,笑傲江湖之鸿蒙
- css动画走马灯5秒,用animation制作走马灯
- vue 使用Dialog对话框使用过程中出现灰色遮罩问题
- ansible playbook详细教程(笔记)