php获取七牛上传token失效,上传文件到七牛时,bad token了怎么处理?
想用七牛实现个离线下载的功能。然后把里面的一些加密算法的函数提了出来。
这个是shell脚本运行的,提示bad token了,不知道我下面的脚本哪里写错了?
谢谢~
php download.php https://p.ssl.qhimg.com/t01d1f1a2ae31e3c3e4.png 111.png
download.php,获取encodeURI、encodedEntryURI和accessToken;
?\n"
$signingStr = "{$path}?{$query}\n";
$sign = hmac_sha1($signingStr, SecretKey);
$encodedSign = urlsafe_base64_encode($sign);
//$encodeAccessKey = urlsafe_base64_encode(AccessKey);
//$accessToken = "{$encodeAccessKey}:{$encodedSign}";
$accessToken = AccessKey.":{$encodedSign}";
echo "AccessToken:\r\n{$accessToken}\r\n\r\n";
$data['scope'] = BUCKET;
$data['deadline'] = time()+3600;//过期时间
$encoded = urlsafe_base64_encode(json_encode($data));
//$signature=hash_hmac('sha1',$encoded,'KEY',true);
$signature = hmac_sha1($encoded, SecretKey);
$encode_signed = urlsafe_base64_encode($signature);
//$UploadToken=$encode_signed.':'.$encoded;
$UploadToken = AccessKey.":".$encode_signed.":".$encoded;
echo "AccessToken:\r\n{$UploadToken}\r\n\r\n";
echo "UploadURL:\r\nhttp://iovip.qbox.me/fetch/{$encodeURI}/to/{$encodedEntryURI}\r\n\r\n";
再通过脚本
sh download.sh encodeURI encodedEntryURI accessToken
传输数据,结果。。。提示:
{"error":"bad token"}
download.sh
curl -i \
-o - \
-H 'Content-Type: application/x-www-form-urlencoded' \
-H "Authorization: QBox $3" \
-X POST \
"http://iovip.qbox.me/fetch/$1/to/$2"
已经自行处理完成,最终 PHP 部分(有两处错误):
PS:我发现我提问到最后,基本都是靠自己搞定的啊。不知道是不是大牛不屑这些技术含量低的问题还是???
真的和 sg 没法比啊。。。
";
var_dump($signingStr);
$sign = hmac_sha1($signingStr, SecretKey);
$encodedSign = urlsafe_base64_encode($sign);
var_dump($sign);
$accessToken = AccessKey.":{$encodedSign}";
echo "AccessToken:\r\n{$accessToken}\r\n\r\n";
echo "UploadURL:\r\nhttp://iovip.qbox.me/fetch/{$encodeURI}/to/{$encodedEntryURI}\r\n\r\n";
回复内容:
想用七牛实现个离线下载的功能。然后把里面的一些加密算法的函数提了出来。
这个是shell脚本运行的,提示bad token了,不知道我下面的脚本哪里写错了?
谢谢~
php download.php https://p.ssl.qhimg.com/t01d1f1a2ae31e3c3e4.png 111.png
download.php,获取encodeURI、encodedEntryURI和accessToken;
?\n"
$signingStr = "{$path}?{$query}\n";
$sign = hmac_sha1($signingStr, SecretKey);
$encodedSign = urlsafe_base64_encode($sign);
//$encodeAccessKey = urlsafe_base64_encode(AccessKey);
//$accessToken = "{$encodeAccessKey}:{$encodedSign}";
$accessToken = AccessKey.":{$encodedSign}";
echo "AccessToken:\r\n{$accessToken}\r\n\r\n";
$data['scope'] = BUCKET;
$data['deadline'] = time()+3600;//过期时间
$encoded = urlsafe_base64_encode(json_encode($data));
//$signature=hash_hmac('sha1',$encoded,'KEY',true);
$signature = hmac_sha1($encoded, SecretKey);
$encode_signed = urlsafe_base64_encode($signature);
//$UploadToken=$encode_signed.':'.$encoded;
$UploadToken = AccessKey.":".$encode_signed.":".$encoded;
echo "AccessToken:\r\n{$UploadToken}\r\n\r\n";
echo "UploadURL:\r\nhttp://iovip.qbox.me/fetch/{$encodeURI}/to/{$encodedEntryURI}\r\n\r\n";
再通过脚本
sh download.sh encodeURI encodedEntryURI accessToken
传输数据,结果。。。提示:
{"error":"bad token"}
download.sh
curl -i \
-o - \
-H 'Content-Type: application/x-www-form-urlencoded' \
-H "Authorization: QBox $3" \
-X POST \
"http://iovip.qbox.me/fetch/$1/to/$2"
已经自行处理完成,最终 PHP 部分(有两处错误):
PS:我发现我提问到最后,基本都是靠自己搞定的啊。不知道是不是大牛不屑这些技术含量低的问题还是???
真的和 sg 没法比啊。。。
";
var_dump($signingStr);
$sign = hmac_sha1($signingStr, SecretKey);
$encodedSign = urlsafe_base64_encode($sign);
var_dump($sign);
$accessToken = AccessKey.":{$encodedSign}";
echo "AccessToken:\r\n{$accessToken}\r\n\r\n";
echo "UploadURL:\r\nhttp://iovip.qbox.me/fetch/{$encodeURI}/to/{$encodedEntryURI}\r\n\r\n";
以前写的个:AK,KEY和scope替换成你的
$data['scope']='your bucket';
$data['deadline']=time()+3600;//过期时间
$encoded=urlsafe_base64_encode(json_encode($data));
$signature=hash_hmac('sha1',$encoded,'KEY',true);
$encode_signed = urlsafe_base64_encode($signature);
$UploadToken='AK:'.$encode_signed.':'.$encoded;
echo $UploadToken;
function urlsafe_base64_encode($data) {
$data = base64_encode($data);
$data = str_replace(array('+','/'),array('-','_'),$data);
return $data;
}
话说为啥不用SDK的?
直接
$token = $auth->uploadToken($bucket);
相关标签:php
本文原创发布php中文网,转载请注明出处,感谢您的尊重!
php获取七牛上传token失效,上传文件到七牛时,bad token了怎么处理?相关推荐
- 千牛如何撤销发往服务器的文件夹,千牛怎么清理缓存?两种清理千牛缓存方法介绍...
千牛怎么清理缓存呢?如果缓存太多,千牛客户端会提示清理缓存,但是有很多朋友对于千牛怎么清理缓存还不太清楚,下文小编就为大家带来两种清理千牛缓存方法介绍,有需要的朋友一起去看下吧. 软件名称: 千牛电 ...
- php dw文件上传下载,使用PHP实现文件上传
这里使用PHP实现文件的上传,由在浏览器这边选择文件,上传到服务器.其中,在上传文件中,考虑到对上传文件大小的限制.类型限制等问题.(当然可以根据我们需要修改对上传的文件的限制,而一般而言php自身也 ...
- elementui 上传七牛_element ui使用上传组件上传文件到七牛(qiniu-js)
博主正在重构博客中,刚开始时静态资源都是上传到本地服务器的,但这个项目博主最后打算真正上线运营的.索性就改进了下,把静态资源尽量放到云存储中,方便后续开发.这里把方法和遇到坑给记录下. 1.使用前提注 ...
- 七牛 savekey php,七牛云1:客户端直接上传文件
最近因为项目要用到七牛云,所以花了点时间整理了一下学习心得. 使用七牛云,第一步当然就是上传文件了,常见的云存储上传文件流程一般有3种: 用户==>业务服务器(你自己的服务器)==>云存储 ...
- nodejs的express实现上传文件到七牛
本文实现上传文件到七牛,动态切换上传空间,MD5设置key值,点击复制七牛返回的链接. 在七牛中注册开发者,获取key 七牛官网--管理控制台(偏右上角)--个人中心(获取秘钥)--对象存储,新建存储 ...
- php对接百度网盘开发平台API开发高级实战案例解析:(环境部署、php封装类、Access Token获取、预上传、分片上传)
文章目录 前言 一.环境部署 1.封装BdPan类库 2.回调地址配置 二.获取授权码Code 1.手动获取Code 2.生成本地token 3.读取AccessToken凭证 4.爬虫函数 二.简化 ...
- java上传文件到七牛_java 上传文件到七牛云
com.qiniu qiniu-java-sdk dependency> //java上传流文件,二进制流文件 //java 七牛上传 @RequestMapping("/file&q ...
- 前端通过ajax上传文件到七牛云
1. 从服务端获取七牛云上传的token,生成token参考官方文档https://developer.qiniu.com/kodo/1208/upload-token 2. 在七牛云文档查找上传的存 ...
- 关于前端上传文件到七牛云的一些笔记
关于前端上传文件到七牛云的一些心得 前言 申请账户 具体步骤 算了 小技巧 七牛云没有监控上传进度和上传错误的 API ?(JS SDK) React 更新 state 中的数组不能触发动画效果? 前 ...
- 七牛云配置 koa 上传文件到七牛云
一.七牛云配置 七牛官网 1.创建七牛存储空间 2.空间添加备案的域名 (若是测试空间可不需要配置) 3.解析CNAME 添加域名后会有CNAME(别名记录),需要将它解析到你的备案域名下 链接-CN ...
最新文章
- 浮点数内存表示---记录一道题目
- 某小公司 RESTful、共用接口、前后端分离、接口约定的实践
- 2021-09-15
- Futura:从纳粹主义到月球-甚至更远
- Bootstrap页面布局16 - BS导航菜单和其响应式布局以及导航中的下拉菜单
- 一代神机落幕!苹果把iPhone 6 Plus列为过时产品,网友吵翻了...
- hdfs mv命令_Hadoop2.x HDFS shell命令
- python把经纬度生成shp,利用Python实现Shp格式向GeoJSON的转换方法
- java转pdf_Java转PDF(基础)
- 【生活相关】北京南苑机场接人
- 下软件,就靠这几个网站
- Github | 标星 1W+ 清华大学计算机系课程攻略!
- 群联PS2251-07主控(Kingston64G)量产CD-ROM+移动磁盘模式过程记录
- 金沙滩开发板单片机学习笔记(2)
- 槑!Vitas翻唱青藏高原
- 学生党专用计算机,学生性价比高的电脑推荐 这3款最适合学生党入手
- 2020年前端安全综述-填坑记
- 南昌理工学院计算机科学与技术排名,南昌理工学院排名2018年下滑5名 在民办大学中实力排全国第38名...
- 财政部关于印发《政府采购评审专家管理办法》的通知
- 有哪些电视软件值得推荐(必备)?这3款错过后悔!