php云点播源码,乐视云直播 点播服务端api

php代码<?php

class LeshiController

{

public $userid = '';//用户id

public $secret = '';//私钥

public $user_unique = '';//用户唯一标识码,由乐视网统一分配并提供 UUID

public $zhibo_apiurl = 'http://api.open.letvcloud.com/live/execute';//直播接口地址

public $dianbo_apiurl = 'http://api.letvcloud.com/open.php';//点播接口地址

public $zhibo_ver = '3.0';//直播协议版本

public $dianbo_ver = '2.0';//点播协议版本

public function __construct()

{

}

/*

* 直播api

* $api_name string 直播接口名

* $param array 直播参数

*/

public function zhibo($api_name,$param=''){

$param['method'] = $api_name;

$res = $this->_sendZhiboApi($param);//请求接口

return $res;

}

/*

* 点播api

* $api_name string 点播接口名

* $param array 点播参数

*/

public function dianbo($api_name,$param=''){

$param['api'] = $api_name;

$res = $this->_sendDianboApi($param);//请求接口

return $res;

}

/*

* 发送直播api请求

*/

protected function _sendZhiboApi($param){

$param['ver'] = $this->zhibo_ver;//直播版本号

$param['userid'] = $this->userid;//用户数字id

$param['timestamp'] = time()*1000;//时间戳 毫秒

$sign = $this->_getSign($param);//获取签名

$param['sign'] = $sign;

$json = $this->_curlPost($this->zhibo_apiurl,$param);

$res = json_decode($json,true);

return $res;

}

/*

* 发送点播api请求

*/

protected function _sendDianboApi($param){

$param['ver'] = $this->dianbo_ver;//协议版本号,统一取值为2.0

$param['user_unique'] = $this->user_unique;//用户唯一标识码,由乐视网统一分配并提供

$param['timestamp'] = time()*1000;//当前Unix时间戳

$param['format'] = 'json';//返回参数格式:支持json和xml两种方式

$sign = $this->_getSign($param);//获取签名

$param['sign'] = $sign;

$json = $this->_curlPost($this->dianbo_apiurl,$param);

$res = json_decode($json,true);

if($res['code'] == 0){

return isset($res['data']) ? $res['data'] : true;

}

return false;

}

/*

* 作用:生成签名

*/

protected function _getSign($param)

{

//签名步骤一:按字典序排序参数

ksort($param);

$String = $this->_formatBizQueryParaMap($param);//拼接数组

//签名步骤二:在string后加入KEY

$String = $String.$this->secret;

//签名步骤三:MD5加密

$String = md5($String);

return $String;

}

/*

* 拼接数组

*/

protected function _formatBizQueryParaMap($paraMap, $urlencode){

$buff = "";

ksort($paraMap);

foreach ($paraMap as $k => $v){

if($urlencode){

$v = urlencode($v);

}

$buff .= $k . $v;

}

return $buff;

}

/*

* 发送curl 请求

*/

public function _curlPost($url,$data){

$ch = curl_init();

$header = "Accept-Charset: utf-8";

curl_setopt($ch, CURLOPT_URL, $url);

curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);

curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);

curl_setopt($ch, CURLOPT_HTTPHEADER, $header);

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);

curl_setopt($ch, CURLOPT_AUTOREFERER, 1);

curl_setopt($ch, CURLOPT_POSTFIELDS, $data);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$tmpInfo = curl_exec($ch);

curl_close($ch);

return $tmpInfo;

}

}

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/304471.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

微软开源AI诊断工具Error Analysis

喜欢就关注我们吧&#xff01;Error Analysis 使用机器学习技术&#xff0c;助数据科学家更好地了解模型错误模式。在 2020 年 5 月的微软 Build 大会上&#xff0c;微软推出了三个响应式的 AI&#xff08;Responsible AI&#xff0c;RAI&#xff09;工具包&#xff0c;这三个工…

【SDL的编程】VC环境搭建

SDL&#xff08;simple DirectMedia Layer&#xff09;是一个可跨平台的开源库&#xff0c;最近由于自己的兴趣&#xff0c;就把它windosXP下的环境搭建了下。PC&#xff1a;Mircrosoft Windows XP Service Pack3Platform&#xff1a;Mircrosoft Visual C 6.0SourceCode&#x…

php正则匹配标点符号,php 正则匹配包含字母、数字以及下划线,且至少包含2种...

【scikit-learn】scikit-learn的线性回归模型&#xfeff;&#xfeff; 内容概要 怎样使用pandas读入数据 怎样使用seaborn进行数据的可视化 scikit-learn的线性回归模型和用法 线性回归模型的评估測度 特征选择的方法 作为有监督学习,分类问题是预 ...icon图标http://images20…

# 保持最外层获取焦点_大事件!沈阳爱尔白内障焕晶诊疗中心正式启用,两位PanOptix三焦点人工晶体植入患者清晰见证!...

近日&#xff0c;沈阳爱尔眼科医院大东院区白内障焕晶诊疗中心正式投入使用&#xff01;由沈阳爱尔眼科医院大东院区业务院长朱建勋领衔的白内障手术团队始终与国内外一流水准保持同步&#xff0c;开创性引进了爱尔康AcrySof IQ PanOptix 新一代三焦点人工晶状体。中心最先入住…

使用 Tye 辅助开发 k8s 应用竟如此简单(六)

续上篇&#xff0c;这篇我们来进一步探索 Tye 更多的使用方法。本篇我们将进一步研究 Tye 与分布式应用程序运行时 Dapr 如何碰撞出更精彩的火花。巧了&#xff0c;巧了&#xff0c;真是巧了 今天正值 dapr 1.0 发布的日子。如果你暂时还不了解什么是 dapr。那不如通过以下简短…

eval() php,js-eval编码,js-eval解码

实例例子 1在本例中&#xff0c;我们将在几个字符串上运用 eval()&#xff0c;并看看返回的结果&#xff1a;eval("x10;y20;document.write(x*y)")document.write(eval("22"))var x10 document.write(eval(x17))输出&#xff1a;200 4 27例子 2看一下在其他…

李阳疯狂英语300句

1.Absolutely.(用于答话&#xff09;是这样;当然是;正是如此;绝对如此。2.Absolutely impossible!绝对不可能的&#xff01;3.All I have to do is learn English. 我所要做的就是学英语。4.Are you free tomorrow?你明天有空吗?5.Are you married?你结婚了吗&#xff1f;6.…

python函数用于创建对象_Python-创建类并使用函数更改其对象值

有人建议我把这个重新贴出来以便更清楚。上完一节课&#xff0c;剩下的就不上这节课了。欢迎任何指导。我已经得出了这个问题的一部分&#xff0c;在那里我坚持要保持简短。我还附上了我的工作。在下面的工作中&#xff0c;我希望能够创建一个包含一个变量的类。我希望能够更改…

BeetleX.WebFamily针对Web SPA应用的改进

BeetleX.WebFamily1.0在集成vueelementaxios的基础上添加应用页、窗体布局和登陆验证等功能。通过以上功能开发Web SPA应用时只需要编写vue控件和配置菜单即可实现应用开发。使用创建一个.net控制台项目&#xff0c;然后通过Nuget引入BeetleX.WebFamily1.0组件&#xff0c;并在…

php acl rbac,建站常用的用户权限管理模型ACL和RBAC的区别

常用的权限管理模型ACL和RBAC的区别1.ACLACL是最早也是最基本的一种访问控制机制&#xff0c;它的原理非常简单&#xff1a;每一项资源&#xff0c;都配有一个列表&#xff0c;这个列表记录的就是哪些用户可以对这项资源执行CRUD中的那些操作。当系统试图访问这项资源时&#x…

测光

所谓测光其实就是指数码相机根据环境光线系统依靠特定的测量方式而给出的光圈/快门组合的方式。简单的说&#xff0c;也就是对被摄物体的受光情况进行测量。一般来说&#xff0c;测光主要是测定被拍摄对象反射到镜头中的光亮度然后在根据这一亮度给出一定的光圈快门速度组合。而…

python3怎么安装gmpy2_python2/3 模块gmpy2在linux下安装

&#xff01;&#xff01;&#xff01;首先建议在Windows下安装 因为很方便&#xff01;&#xff01;&#xff01;gmpy2是解密RSA时所用脚本的一个模块python下输入 import gmpy2 ,提示 Traceback (most recent call last): File"", line 1, in ImportError: No mod…

华为年终奖,小员工分百万!任正非:钱给多了,不是人才也变成了人才!

华为今年又提前发了巨额年终奖&#xff0c;并公布了新的奖金方案&#xff0c;23级奖金额有近百万&#xff0c;并且宣称“上不封顶、绝不拖欠”&#xff0c;一时间引起热议。任正非签发的内部文件&#xff1a;华为不搞按资排辈&#xff0c;只要做出突出贡献&#xff0c;在新方案…

Redis缓存穿透、缓存雪崩、缓存击穿好好说说

前言 Redis是目前非常流行的缓存数据库啦&#xff0c;其中一个主要作用就是为了避免大量请求直接打到数据库&#xff0c;以此来缓解数据库服务器压力&#xff1b;用上缓存难道就高枕无忧了吗&#xff1f;no,no,no&#xff0c;没有这么完美的技术&#xff0c; 缓存穿透、缓存雪崩…

php字符串赋值给变量,JavaScript-如何将一个PHP字符串安全赋值给Javascript变量(包含引号和换行符的)...

php json_encode输出变量&#xff0c;在js使用(不是赋值)的时候转换成相应的字符串进行操作.注意&#xff1a;因为中文在json_encode会出问题。因此大家写了一个第三方的json_encode;class json {function __construct() {}function encode($array) {$this -> arrayRecursiv…

小计 合计 -统计

create table [tb]([客户编码] varchar(10),[客户名称] varchar(10),[数量] int) insert [tb] select 001,A,2 union all select 001,A,3 union all select 001,A,4 union all select 002,B,1 union all select 002,B,2 --统计 select * from (select * from tb union all s…

这是“我”的故事 —— 董彬

点击蓝字 关注我们作者&#xff1a;董彬校对/文章优化&#xff1a;刘轶民排版&#xff1a;Rani视频地址&#xff1a;https://www.bilibili.com/video/BV1NK4y1p7Ys与世界周旋的程序员大家好&#xff0c;我叫董彬 &#xff0c;现就职于野村信息&#xff0c; Title 是 Senior …

我用Python玩小游戏“跳一跳”,瞬间称霸了朋友圈!

“从前几天微信最新版本 6.6.1 的更新开始&#xff0c;微信小程序游戏“跳一跳”似乎在一夜之间风靡了朋友圈。它甚至比五六年前的飞机大战游戏都火爆&#xff0c;这种小游戏的火爆不仅仅是因为有魔性、有意思&#xff0c;更重要的是可以进行好友 PK&#xff01;“跳一跳”的小…

expsky.php,Typecho漏洞利用工具首发,半分钟完成渗透

原标题&#xff1a;Typecho漏洞利用工具首发&#xff0c;半分钟完成渗透*本文原创作者&#xff1a;expsky&#xff0c;本文属FreeBuf原创奖励计划&#xff0c;未经许可禁止转载声明&#xff1a;本工具由expsky原创&#xff0c;仅用于技术研究&#xff0c;不恰当使用会对网站造成…

游标 和 锁的概述

--用游标 declare str varchar(100) --定义游标 declare DZCursor CURSOR for SELECT test_str FROM test where test_strxxx --打开游标 open DZCursor --从游标取记录 fetch next from DZCursor into str --当有记录 while fetch_status0 begin insert into test (tes…