Javascript soundcloud是如何隐藏流媒体音频的URL的

Javascript soundcloud是如何隐藏流媒体音频的URL的,javascript,html,audio,soundcloud,Javascript,Html,Audio,Soundcloud,我正试图为我的HTML5播放器隐藏我的音频流的URL,我真的很难想出一种方法来做到这一点,然后我意识到,soundcloud必须隐藏他们流的URL。所以我进入soundcloud,打开控制台播放了一首曲目,但我看不到URL隐藏的任何明显方式。在这之后,我看了看DOM树,看看里面是否有任何音频信息,但我什么也没发现!甚至没有播放器/音频的ID,所以我很困惑soundcloud是如何做到的 现在我已经尽我所能隐藏音频URL。我已经在DOM中为这首曲子输入了一个ID,在单击播放按钮时获得了该ID,并从

我正试图为我的HTML5播放器隐藏我的音频流的URL,我真的很难想出一种方法来做到这一点,然后我意识到,soundcloud必须隐藏他们流的URL。所以我进入soundcloud,打开控制台播放了一首曲目,但我看不到URL隐藏的任何明显方式。在这之后,我看了看DOM树,看看里面是否有任何音频信息,但我什么也没发现!甚至没有播放器/音频的ID,所以我很困惑soundcloud是如何做到的

现在我已经尽我所能隐藏音频URL。我已经在DOM中为这首曲子输入了一个ID,在单击播放按钮时获得了该ID,并从数据库中检索了该ID的URL。明显的问题是,任何愿意的人都可以直接到控制台从网络事件中获取URL

我并没有试图突破soundcloud的安全机制来下载我不应该下载的曲目。我只是好奇他们是如何隐藏URL的。现在我也很好奇每一首歌是如何区分的,因为DOM中没有任何东西可以区分它们(无论如何,我在简短的浏览中没有发现)


那么,简言之,有没有人对soundcloud是如何做到这一点或如何做到这一点有任何想法

如果您转到SoundCloud.com并打开调试器(我使用的是Chrome)。查看“网络”选项卡,您将看到一个调用audio?anonymous#id#########的脚本


这种结构类似于REST调用,这意味着他们将id传递给后端的服务,并以匿名方式返回音频输出

Soundcloud几乎是一个纯粹的JS站点

正如您所说,并没有加载HTML的歌曲ID。识别歌曲的方式是通过页面URL。这项工作是通过。此url(示例):

https://api.sndcdn.com/resolve?url=https%3A//soundcloud.com/hoodinternet/joywave-舌头胡德互联网混音和状态代码映射%5B302%5D=200和状态格式=json和客户端id=您的客户端id

这将返回如下内容:

{“状态”:“302-找到”,“位置”:https://api.soundcloud.com/tracks/100270342?client_id=YOUR_CLIENT_ID“}

接下来,它从上面的JSON加载位置URL。这将返回有关轨迹的一组信息,包括:

stream\u url:https://api.soundcloud.com/tracks/100270342/stream“

然后加载此URL:

https://api.sndcdn.com/i1/tracks/100270342/streams?client_id=YOUR_CLIENT_IT

返回如下响应:

{“http\u mp3\u 128\u url”:https://ec-media.soundcloud.com/2gNVBYiZ06bU.128.mp3?ff61182e3c2ecefa438cd021sdf02d0e385713f0c1faf3b0339595664fe070de810d30a8e3a1186eda958909e9ed97799adfeceabc135efac83aee4271217a108450591db3b88\u0026AWSAccessKeyId=AKIAsdfJ4IAZE5EOIdsf7PA7VQ\u0026Expires=1374883403\u0026Signature=%2B1%2B7DFLN4NWP3C3BNF3Gizzeviu%3D“}


这就是他们隐藏流URL的方式。唯一不明显的是,他们通过点击一个以URL为参数的API来找到歌曲ID。下载支持它的曲目上的URL也可以这样做。

他们更改了Media center地址,现在从下面的链接进行流式传输。但是访问此URL受到限制


有些声音是不可播放的?这是一个例子,任何解决方案?@Kassem-对我来说都是可简化的。我不久前制作了这个soundcloud下载程序:-像这样使用:python sc_dl.py soundcloud.com/ymcmbofficial/lil-wayne-ft-drake-and-future-它需要python的请求。谢谢@scandinavian.-我不熟悉pyhon,但我能理解的是,这首歌的流式url将是我与我的客户一起尝试过的浏览器id,但它给出了403禁止。有什么想法吗?哦,我现在明白了,你用的是soundcloud自己提供的钥匙。非常聪明:)thanksOh在检查了上面的url后意识到url不受限制:Dyou只能在包含查询字符串策略的情况下访问上述url