2 slertness slertness 于 2014.02.13 18:09 提问

有些音乐网站的mp3文件地址可以通过浏览器打开,但无法使用程序或curl下载

比如QQ音乐,地址举例:http://stream12.qqmusic.qq.com/34829977.mp3
可以通过浏览器直接打开下载。
但通过程序就无法下载,curl也不行。
只能下载到一个表示没有权限的页面。
我试过模拟浏览器的header信息也不行。
不知道在模拟header的情况下,程序请求和浏览器请求到底有何不同?
有没有高手可以使用程序下载到这个文件?使用php最佳。
望不吝赐教。

解决了,就是对cookie有校验。

2个回答

qhttl
qhttl   2014.02.17 11:15

以前做采集音乐的时候,发现soso的音乐地址基本上都是http://stream12.qqmusic.qq.com/*********.mp3 这种类型,这种类型的地址是加防盗链的,所以你通过程序是运行不了的,后来没有深入研究,不过有一点你可以尝试一下,我记得我吧浏览器的cookies全部清空之后浏览器也无法打开这个音乐,然后我将cookies全部清空,然后重新开浏览器,注入上一次的cookies,在不让问soso的情况下是可以播放的, 所以你可以尝试一下cookies这里入口,破解他的防盗链,你说你使用过header不行,程序请求,你把header附上 其实和浏览器效果是一样的,理论是可以的,不知道你是怎么用的

godamen
godamen   2014.02.24 14:34

通常简单的防盗链是基于referer,你可以在header里增加个qq的页面地址试试

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!