我正在开发一个将托管几首歌曲的网站。我知道在大多数情况下,音乐流可以通过 Chrome 的开发者工具、Firebug 等下载。Soundcloud 是一个示例站点,可以使用这种下载流的方法。
另一方面,Spotify 似乎找到了一种流式传输音乐的方法,因此无法下载。这怎么可能?如何为自己的站点实施这种级别的保护?
我打算收集的答案和信息隐藏在所有评论的噪音中。
正如@idbebhold所建议的那样,我发现RTMP 流媒体可能是我正在寻找的答案。
我正在开发一个将托管几首歌曲的网站。我知道在大多数情况下,音乐流可以通过 Chrome 的开发者工具、Firebug 等下载。Soundcloud 是一个示例站点,可以使用这种下载流的方法。
另一方面,Spotify 似乎找到了一种流式传输音乐的方法,因此无法下载。这怎么可能?如何为自己的站点实施这种级别的保护?
我打算收集的答案和信息隐藏在所有评论的噪音中。
正如@idbebhold所建议的那样,我发现RTMP 流媒体可能是我正在寻找的答案。
Spotify 没有使用 HTML5 音频。他们很可能使用 Flash 来提供音频。
查看 Chrome DevTools 中的 Network 选项卡后,看来我是正确的。
为了验证这一点,我在 Chrome (chrome://plugins/) 中禁用了 Flash 插件并尝试访问 Spotify。它弹出这个通知:“要享受 Spotify,请安装 Adobe Flash。它是免费的。 ”
刚刚使用 tcpdump 进行了测试。音频连接通过服务器端口 1935,即RTMP端口。浏览器通常通过 Flash 使用 rtmp。事实上,如果您在浏览器中禁用 Flash,您将无法使用 Spotify。此外,我可以看到他们使用Cloudfront,然后我特别想这个服务:http: //docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-rtmp.html