测试,打开steal,总是400错误
<?php
$ts=time();
$sKey='FastDFS1234567890';
$fileID='group1/M00/00/03/AQAAf0rlDkYAAAAAAAABqhHQ5qM8.conf';
$token=md5($fileID.$sKey.$ts);
echo "http://127.0.0.1:8081/".$fileID."?ts={$ts}&token={$token}";
?>
是token生成有问题吗?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
![扫码二维码加入Web技术交流群](/public/img/jiaqun_03.jpg)
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
打印了一些日志,发现MD5的结果好像不一致
group1/M00/02/05/AQAAf0rlNQQAAAAAAAABqgWFXpI9.confFastDFS12345678901256535445
这个字符串通过 fdfs_http_gen_token 生成的md5 ccd03cd8b952b9643bd1bb3b6990b5bc
php的md5函数是 82d955001f9c2a57be7e442aa89f9ea7
fdfs_get_token调用的也是php的md5函数,不应该出现相同的输入,而输出不一致的情况。
你两个帖子中的$fileID是不一致的。
另外,请注意$ts取的当前时间戳,每次取到的可能也不一样。
用time取当前值生成下载地址
http://localhost:8888/group1/M00/02/05/AQAAf0rlNQQAAAAAAAABqgWFXpI9.conf?ts=1256535445&token=82d955001f9c2a57be7e442aa89f9ea7
在 fdfs_http_gen_token 增加日志
打印md5 前后的值
前: group1/M00/02/05/AQAAf0rlNQQAAAAAAAABqgWFXpI9.confFastDFS12345678901256535445 是正确的
后: ea78a22ab726794dfc8311fdccd0a3cc
和url中的 82d955001f9c2a57be7e442aa89f9ea7 不一致。
下载提示400错误。
所以上来问一下
wget "http://127.0.0.1:8081/group1/M00/02/05/AQAAf0rlNQQAAAAAAAABqgWFXpI9.conf?ts=1256549699&token=7822c0d3a796bc5193fdb0c2ee25cfe7"
[2009-10-26 17:38:19] ERROR - >>>file: ../common/fdfs_http_shared.c, line: 294, fileid is: group1/M00/02/05/AQAAf0rlNQQAAAAAAAABqgWFXpI9.conf
[2009-10-26 17:38:19] ERROR - >>>file: ../common/fdfs_http_shared.c, line: 305, origninal string: group1/M00/02/05/AQAAf0rlNQQAAAAAAAABqgWFXpI9.confFastDFS12345678901256549699 ,before md5encode
[2009-10-26 17:38:19] ERROR - >>>>>file: ../common/fdfs_http_shared.c, line: 310, md5Encoded string: 3f467cbee31f1ec9097f1997c293ade6 after md5encode
[2009-10-26 17:38:19] ERROR - >>>file: ../common/fdfs_http_shared.c,line: 338, token: 7822c0d3a796bc5193fdb0c2ee25cfe7 ,true_token: 3f467cbee31f1ec9097f1997c293ade6
你机器是64位的吧?我在64位系统下进行了测试,和你描述的情况完全一样。
common/md5.h中的typedef unsigned long int UINT4; 在64位下存在问题,已经修复。
修改为:typedef unsigned int UINT4; 即可。
谢谢LZ的反馈!
[ 本帖最后由 happy_fish100 于 2009-10-27 09:07 编辑 ]
不好意思,没有告诉你环境。我的服务器是64位的。
谢谢斑竹解答。
测试通过...hh