版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 <?phpheader('Content-type:text/html; Charset=utf-8');date_default_timezone_set('PRC');class Haikang public $pre_url = "访问IP" protected $app_key = "app_key" protected $app_secret = "app_secret" public $time ;/时间戳 public $content_type="application
2、/json"/类型 public $accept="*/*" ;/accept public $person_list_url = "/artemis/api/resource/v1/encodeDevice/get"/人员列表urlpublic $equipment_view_url = "/artemis/api/video/v1/cameras/previewURLs"/获取监控点预览取流URL public function _construct($app_key='', $app_secret=
3、39;') if($app_key!='') $this->app_key = $app_key; if($app_secret!='') $this->app_secret = $app_secret; $this->charset = 'utf-8' list($msec, $sec) = explode(' ', microtime();$this->time = (float)sprintf('%.0f', (floatval($msec) + floatval($sec)
4、* 1000); function getViewUrl($cameraIndexCode)/请求参数 $postData'cameraIndexCode' = $cameraIndexCode; $postData'streamType' =0;$postData'protocol' = 'hls'$postData'transmode' = 1; $sign = $this->get_sign($postData,$this->equipment_view_url); $options = arra
5、y( CURLOPT_HTTPHEADER => array( "Accept:".$this->accept, "Content-Type:".$this->content_type, "X-Ca-Key:".$this->app_key, "X-Ca-Signature:".$sign, "Date:".$this->time, "X-Ca-Signature-Headers:"."x-ca-key", ) ); $res
6、ult = $this->curlPost($this->pre_url.$this->equipment_view_url,json_encode($postData),$options); return json_decode($result,true); /* * 获取人员列表 */ function get_person_list($response) /请求参数 $postData'pageNo' = isset($response'pageNo') ? intval($response'pageNo'):"
7、1" $postData'pageSize' = isset($response'pageSize') ? intval($response'pageSize'):"1000" $sign = $this->get_sign($postData,$this->person_list_url); $options = array( CURLOPT_HTTPHEADER => array( "Accept:".$this->accept, "Content-Type:
8、".$this->content_type, "X-Ca-Key:".$this->app_key, "X-Ca-Signature:".$sign, "Date:".$this->time, "X-Ca-Signature-Headers:"."x-ca-key", ) ); $result = $this->curlPost($this->pre_url.$this->person_list_url,json_encode($postData),
9、$options); return json_decode($result,true); /* * 以appSecret为密钥,使用HmacSHA256算法对签名字符串生成消息摘要,对消息摘要使用BASE64算法生成签名(签名过程中的编码方式全为UTF-8) */ function get_sign($postData,$url) $sign_str = $this->get_sign_str($postData,$url); /签名字符串 $priKey=$this->app_secret; $sign = hash_hmac('sha256', $sign_st
10、r, $priKey,true); /生成消息摘要 $result = base64_encode($sign); return $result; function get_sign_str($postData,$url) $next = "n" $str = "POST".$next.$this->accept.$next.$this->content_type.$next.$this->time.$next;$str .= "x-ca-key:".$this->app_key.$next;$str .= $
11、url;return $str; public function getSignContent($params) ksort($params); $stringToBeSigned = "" $i = 0;$len = count($params); foreach ($params as $k => $v) if (false = $this->checkEmpty($v) && "" != substr($v, 0, 1) / 转换成目标字符集 $v = $this->characet($v, $this->c
12、harset); if ($i = 0) $stringToBeSigned .= "?$k" . "=" . "$v" else $stringToBeSigned .= "&" . "$k" . "=" . "$v" $i+; unset ($k, $v); return $stringToBeSigned; function get_message($postData) $str = str_replace(array('',
13、'','"'),'',json_encode($postData); return base64_encode(md5($str); /* * 校验$value是否非空 * if not set ,return true; * if is null , return true; */ protected function checkEmpty($value) if (!isset($value) return true; if ($value = null) return true; if (trim($value) = "&
14、quot;) return true; return false; /* * 转换字符集编码 * param $data * param $targetCharset * return string */ function characet($data, $targetCharset) if (!empty($data) $fileType = $this->charset; if (strcasecmp($fileType, $targetCharset) != 0) $data = mb_convert_encoding($data, $targetCharset, $fileTyp
15、e); return $data; public function curlPost($url = '', $postData = '', $options = array() if (is_array($postData) $postData = http_build_query($postData); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $postData); curl_setopt($ch, CURLOPT_TIMEOUT, 30); /设置c
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 企业培训合作计划
- 2024出租车租赁经营合同企业租赁经营合同
- 2024室内装饰设计合同书样本
- 软件外包合同样本
- 社区停车位租赁合同范本
- 卖房代理合同格式
- 公司贷款偿还合同范例
- 专业摄影合作协议书模板
- 房屋租赁合同安全协议
- 房屋权益合法转让合同样本
- 体检报告汇总分析中风险的防范
- 村里建群管理制度
- 【城市轨道交通运营安全管理研究5300字】
- 2024年中核汇能有限公司招聘笔试参考题库含答案解析
- 上海市2024届高三7月模拟预测历史试题(等级考)(解析版)
- 肺炎护理查房课件
- 2024年中国华能集团招聘笔试参考题库含答案解析
- 服务质量的管理规定模版
- 部编《道德与法治》二年级上册教材解析及教学建议
- 2024年中考化学实验探究题说题
- 在高中语文课堂中开展爱国主义教育的策略探究获奖科研报告
评论
0/150
提交评论