首页 > 开发 > JAVA > 正文

如何设置下载url的生命周期

2017-09-07 09:24:53  来源:网友分享

以百度音乐的URL为例:

http://music.baidu.com/data/music/file?link=http://zhangmenshiting.baidu.com/data2/music/23512929/58929231353722461.mp3?xcode=46916de5bb4f17904142dc87def856f4

这个URL我们应该如何分析呢?link是文件实际地址吗?xcode的用途是什么如何生成的呢?

解决方案

link地址肯定不是真实的,并且文件名中包含了某个cache_key,可以找到对应的expire_time等信息。

至于xcode,也许可能大概是这么算出来的:

xcode = md5(cache_key + secret_key)

其中secret_key仅保存在服务端,保证了server端可以验证,客户端无法伪造的效果。这样这个地址在超过了某个时间以后就不能下载了,可以避免外链等问题。