python - 访问七牛下载链接出现{"error":"download token auth failed"}
PHP中文网
PHP中文网 2017-04-17 13:49:00
0
4
931

根据下载私有文件的指南生成私有文件链接,发现文件名是中文的话生成的private_url用chrome会出现

{"error":"download token auth failed"}

的响应(对比英文文件名是正常的)。

PHP中文网
PHP中文网

认证高级PHP讲师

全員に返信(4)
阿神

七牛要求所有的链接,文件名必须都是UTF-8编码的,所以看看你的代码吧。

Key必须采用utf-8编码,使用非utf-8编码的资源名访问时会报错。

http://developer.qiniu.com/docs/v6/api/reference/security/download-token.html

你在做中文的key的下载凭证的时候,key要做url转义的,参考上面的文档的最后面的说明。

いいねを押す +0
Ty80

你够幸运,我遇到过,告诉你吧

chrome 尤其是mac系统上的(可能跟系统没啥关系,跟浏览器种类也没关系,反正有的电脑就是这样)

你是用utf-8编码后的url 单击链接后,浏览器会再转一次,有的时候是全部转成大写,有的是全部小写,

例如原url=xxx.com/downfile/fileidHHHHHaaaaa.rar?e=&token=******
会被自动转码成url=xxx.com/downfile/fileidHHHHHAAAAA.rar?e=&token=********

注意小写aaaaa变成了大写AAAAA,也可能是原来大写变成小写的

这只是举例子,实际情况是对utf-8编码后的中文部分进行转码

自动转码可能说的不准确,但是不管看html里面<a href="***aaa" aaa写的是什么,点击打开就会发现浏览器打开的地址变成AAA了

因为这个问题发现的时间比较久了,所以记得不是很清楚,反正基本就是这样,确认你文件名不包括中文,就不会发生此问题

いいねを押す +0
Ty80

除了楼上的答案其实还有其他可能性,之所以点进了这个贴是因为我遇到了跟楼主一样的问题,但我查看了一下我的文件并没有中文,反而,有一个空格,我把空格去掉后,就没事了,在此留言,让后辈少进坑把

いいねを押す +0
PHPzhong

我没有中文,,没有空格为什么也提示这种问题

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!