七牛远程抓取视频语音或者图片
2016-06-06 18:26
232 查看
<?php /* * * @desc URL安全形式的base64编码 * @param string $str * @return string */ function urlsafe_base64_encode($str){ $find = array("+","/"); $replace = array("-", "_"); return str_replace($find, $replace, base64_encode($str)); } /** * generate_access_token * * @desc 签名运算 * @param string $access_key * @param string $secret_key * @param string $url * @param array $params * @return string */ function generate_access_token($access_key, $secret_key, $url, $params = ''){ $parsed_url = parse_url($url); $path = $parsed_url['path']; $access = $path; if (isset($parsed_url['query'])) { $access .= "?" . $parsed_url['query']; } $access .= "\n"; if($params){ if (is_array($params)){ $params = http_build_query($params); } $access .= $params; } $digest = hash_hmac('sha1', $access, $secret_key, true); return $access_key.':'.urlsafe_base64_encode($digest); } /** * 测试 */ $access_key = '你的access_key'; $secret_key = '你的secret_key'; $fetch = urlsafe_base64_encode('图片地址'); $to = urlsafe_base64_encode('空间名:图片或别的东西的名称-要带后缀'); $url = 'http://iovip.qbox.me/fetch/'. $fetch .'/to/' . $to; $access_token = generate_access_token($access_key, $secret_key, $url); $header[] = 'Content-Type: application/json'; $header[] = 'Authorization: QBox '. $access_token; $con = send('iovip.qbox.me/fetch/'.$fetch.'/to/'.$to, $header); echo $access_token.'<br>'; var_dump($con); function send($url, $header = '') { $curl = curl_init($url); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); curl_setopt($curl, CURLOPT_HEADER,1); curl_setopt($curl, CURLOPT_HTTPHEADER, $header); curl_setopt($curl, CURLOPT_POST, 1); $con = curl_exec($curl); if ($con === false) { echo 'CURL ERROR: ' . curl_error($curl); } else { return $con; } } ?>
相关文章推荐
- Hibernate中的集合映射
- Java中用内存映射处理大文件
- 微信支付时出现[交易已提交,请查询确认是否已扣款,避免重复操作]
- Android强制设置横屏或竖屏
- Fiddler模拟WEB请求-Composer
- 快速排序详解
- 母牛的故事
- C++中虚函数工作原理和(虚)继承类的内存占用大小计算
- 设置透明NavigationBar
- MySql笔记【持续更新】
- wpa_supplicant与内核nl80211通信之Netlink
- CodeForces 300A Array
- JedisRedirectionException:Too many Cluster redirections
- ctags简易用法
- wifi协议-802
- RandomAccess接口
- 第二阶段冲刺第七天,6月6日。
- 第二阶段冲刺6(6月5号)
- 在PPT中插入网页技巧
- Android蓝牙与全站仪蓝牙仪器数据交互