SAE实时日志接口SDK用法示例_php技巧_脚本之家

今日头条SAE是新浪研究开发大旨支付的国内第多个国有云平台,从二零零六年起始到现行反革命也是也来越成熟,开放了数不胜数接口以致服务供开荒者使用。此次为了便利开采者调节和测量检验解析,SAE新扩张实时日志查询接口。将来您能够透过API对日记音讯进行筛选,并下载所需的实时日志。不过天涯论坛SAE官方只交付的Python的完毕,这里给出PHP版本的接口调用SDK

本文实例陈述了SAE实时日志接口SDK用法。分享给大家供大家参照他事他说加以考查,具体如下:

更加多关于PHP相关内容感兴趣的读者可查阅本站专项论题:《php恒河沙数数据库操作手艺汇总》、《PHP数组操作技艺大全》、《php排序算法计算》、《PHP常用遍历算法与才能总计》、《PHP数据构造与算法教程》、《php程序设计算法总括》、《PHP数学生运动算手艺计算》、《php正则表明式用法计算》、《PHP运算与运算符用法总结》及《php字符串用法总括》

class SaeApiHandler{ /** * 定义accessKey */ private $accessKey; /** * 定义secretKey */ private $secretKey; /** * 定义时间戳 */ private $timestamp; /** * 构造函数 */ public function __construct{ $this->accessKey = $key; $this->secretKey = $sec; $this->timestamp = time(); } /** * 重载get方法 */ public function __call{ $ret = array(); if  { $len = count; for ($i=0; $i < $len; $i++) { $ret[$i] = $arg[$i]['fop'] ? $this->$name($arg[$i]['service'],$arg[$i]['date'],$arg[$i]['ident'],$arg[$i]['fop']):$this->$name($arg[$i]['service'],$arg[$i]['date'],$arg[$i]['ident']); } }else{ $ret = $arg[3] ? $this->$name($arg[0],$arg[1],$arg[2],$arg[3]) : $this->get($arg[0],$arg[1],$arg[2]); } return $ret; } /** * 获取日志 * @param string 需要的日志 * @param string 时间 * @param string 日志类型 * @param string 过滤符 * @return array */ private function getLog($service,$date,$ident,$fop=null){ if  { $uri = '/log/'.$service.'/'.$date.'/'.$_SERVER['HTTP_APPVERSION'].'-'.$ident.'.log?'.$fop; }else{ $uri = '/log/'.$service.'/'.$date.'/'.$_SERVER['HTTP_APPVERSION'].'-'.$ident.'.log'; } $ret = explode(PHP_EOL,$this->get; array_splice; array_pop; return $ret; } private function get{ $host = 'http://g.sae.sina.com.cn'.$uri; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL,$host); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_HTTPHEADER, $this->saeHeader; curl_setopt($ch, CURLOPT_HEADER, 1); $ret = curl_exec; return $ret; } /** * SAE请求头 * @return array */ private function saeHeader{ return array( 'Host: g.sae.sina.com.cn', 'Accept: text/plain', 'x-sae-accesskey: '.$this->accessKey, 'x-sae-timestamp: '.$this->timestamp, 'Authorization: '. $this->getAuthorization; } /** * 获取gAuthorization */ private function getAuthorization{ $header = array( 'x-sae-timestamp' => $this->timestamp, 'x-sae-accesskey' => strtolower; ksort; $sae_header = array; foreach ($header as $key => $value) { $sae_header[count] = $key.':'.$value; } $ret = implode; $auth = 'SAEV1_HMAC_SHA256 '.base64_encode(hash_hmac('sha256',$ret,$this->secretKey,true)); return $auth; }}

行使也异常粗略,实例化SaeApiHandler类,调用getLog(State of Qatar方法就可以。该方式能够传递数组参数或然字符串,具体能够到SAE文书档案看,要是急需回到多组日志,则传递多少个数组就能够。

可望本文所述对我们PHP程序设计有所援助。

$test = new SaeApiHandler(SAE_ACCESSKEY,SAE_SECRETKEY);$arr1 = array( 'service'=>'http', 'date'=>'2015-07-03', 'ident'=>'access', 'fop'=>'head/1/5' );$arr2 = array( 'service'=>'http', 'date'=>'2015-07-03', 'ident'=>'access', 'fop'=>'head/1/5' );$ret = $test->getLog;var_dump;

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图