想用七牛实现个离线下载的功能。然后把里面的一些加密算法的函数提了出来。

这个是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了怎么处理?相关推荐

  1. 千牛如何撤销发往服务器的文件夹,千牛怎么清理缓存?两种清理千牛缓存方法介绍...

    千牛怎么清理缓存呢?如果缓存太多,千牛客户端会提示清理缓存,但是有很多朋友对于千牛怎么清理缓存还不太清楚,下文小编就为大家带来两种清理千牛缓存方法介绍,有需要的朋友一起去看下吧. 软件名称: 千牛电 ...

  2. php dw文件上传下载,使用PHP实现文件上传

    这里使用PHP实现文件的上传,由在浏览器这边选择文件,上传到服务器.其中,在上传文件中,考虑到对上传文件大小的限制.类型限制等问题.(当然可以根据我们需要修改对上传的文件的限制,而一般而言php自身也 ...

  3. elementui 上传七牛_element ui使用上传组件上传文件到七牛(qiniu-js)

    博主正在重构博客中,刚开始时静态资源都是上传到本地服务器的,但这个项目博主最后打算真正上线运营的.索性就改进了下,把静态资源尽量放到云存储中,方便后续开发.这里把方法和遇到坑给记录下. 1.使用前提注 ...

  4. 七牛 savekey php,七牛云1:客户端直接上传文件

    最近因为项目要用到七牛云,所以花了点时间整理了一下学习心得. 使用七牛云,第一步当然就是上传文件了,常见的云存储上传文件流程一般有3种: 用户==>业务服务器(你自己的服务器)==>云存储 ...

  5. nodejs的express实现上传文件到七牛

    本文实现上传文件到七牛,动态切换上传空间,MD5设置key值,点击复制七牛返回的链接. 在七牛中注册开发者,获取key 七牛官网--管理控制台(偏右上角)--个人中心(获取秘钥)--对象存储,新建存储 ...

  6. php对接百度网盘开发平台API开发高级实战案例解析:(环境部署、php封装类、Access Token获取、预上传、分片上传)

    文章目录 前言 一.环境部署 1.封装BdPan类库 2.回调地址配置 二.获取授权码Code 1.手动获取Code 2.生成本地token 3.读取AccessToken凭证 4.爬虫函数 二.简化 ...

  7. java上传文件到七牛_java 上传文件到七牛云

    com.qiniu qiniu-java-sdk dependency> //java上传流文件,二进制流文件 //java 七牛上传 @RequestMapping("/file&q ...

  8. 前端通过ajax上传文件到七牛云

    1. 从服务端获取七牛云上传的token,生成token参考官方文档https://developer.qiniu.com/kodo/1208/upload-token 2. 在七牛云文档查找上传的存 ...

  9. 关于前端上传文件到七牛云的一些笔记

    关于前端上传文件到七牛云的一些心得 前言 申请账户 具体步骤 算了 小技巧 七牛云没有监控上传进度和上传错误的 API ?(JS SDK) React 更新 state 中的数组不能触发动画效果? 前 ...

  10. 七牛云配置 koa 上传文件到七牛云

    一.七牛云配置 七牛官网 1.创建七牛存储空间 2.空间添加备案的域名 (若是测试空间可不需要配置) 3.解析CNAME 添加域名后会有CNAME(别名记录),需要将它解析到你的备案域名下 链接-CN ...

最新文章

  1. 浮点数内存表示---记录一道题目
  2. 某小公司 RESTful、共用接口、前后端分离、接口约定的实践
  3. 2021-09-15
  4. Futura:从纳粹主义到月球-甚至更远
  5. Bootstrap页面布局16 - BS导航菜单和其响应式布局以及导航中的下拉菜单
  6. 一代神机落幕!苹果把iPhone 6 Plus列为过时产品,网友吵翻了...
  7. hdfs mv命令_Hadoop2.x HDFS shell命令
  8. python把经纬度生成shp,利用Python实现Shp格式向GeoJSON的转换方法
  9. java转pdf_Java转PDF(基础)
  10. 【生活相关】北京南苑机场接人
  11. 下软件,就靠这几个网站
  12. Github | 标星 1W+ 清华大学计算机系课程攻略!
  13. 群联PS2251-07主控(Kingston64G)量产CD-ROM+移动磁盘模式过程记录
  14. 金沙滩开发板单片机学习笔记(2)
  15. 槑!Vitas翻唱青藏高原
  16. 学生党专用计算机,学生性价比高的电脑推荐 这3款最适合学生党入手
  17. 2020年前端安全综述-填坑记
  18. 南昌理工学院计算机科学与技术排名,南昌理工学院排名2018年下滑5名 在民办大学中实力排全国第38名...
  19. 财政部关于印发《政府采购评审专家管理办法》的通知
  20. 有哪些电视软件值得推荐(必备)?这3款错过后悔!

热门文章

  1. Mysql的原子性、持久性原理
  2. [USACO10HOL]牛的政治Cow Politics
  3. Cascading介绍
  4. 【Python量化】使用机器学习预测股票交易信号
  5. 利用神经网络预测股票价格走势
  6. 使用xcode无开发者账号打包.ipa文件
  7. 快速获取SAS数据集观测数
  8. AutoSar FlashDriver
  9. python通过pypiwin32操作PPT
  10. 海洋cms播放器html,海洋cms升级新播放器后播放不了如何解决?