http - SoundCloud API : GET succeeds, HEAD 失败

标签 http soundcloud

我使用 SoundCloud API 检索可流式播放轨道的流式 URL。 我按照重定向进行操作,最终得到一个如下所示的 URL:

http://ec-media.soundcloud.com/eodihgiuh.128.mp3?<a string>
    AWSAccessKeyId=<access key>
    &Expires=<timestamp>
    &Signature=<signature>

http://ak-media.soundcloud.com/euieuieie.128.mp3?
    AWSAccessKeyId=<access key>
    &Expires=<timestamp>
    &Signature=<signature>
    &__gda__=<a string>

然后我开始在此 URL 上流式传输 MP3 数据。

首先,我发送一个HEAD 请求来读取Content-Length header ,这样我就知道我需要处理多少个GET 请求发送以播放整首歌曲。

然后我发送几个部分 GET 请求,每个请求都有不同的 Range header 。

问题是有时 HEAD 请求返回一个 403 状态代码,即使对完全相同的 URL 的 GET 请求返回200 状态码。似乎当且仅当主机是 ak-media.soundcloud.com 时才会发生这种情况。

这是应该发生的吗?我希望 HEAD 请求返回与 GET 请求完全相同的 header ,只是没有正文响应。

干杯,

P.S:我应该提一下,我的代码不是在计算机上运行,​​而是在带有微型 8 位处理器的音频设备上运行,该处理器的资源极其 .

最佳答案

遗憾的是,目前我们只为 GET 请求提供有保证的正确响应。

作为 hack,您可以尝试使用非常短的 range 发送请求。

关于http - SoundCloud API : GET succeeds, HEAD 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13804320/

相关文章:

json - 在 Perl 中获取 JSON

java - 为什么我无法从 java 中的 POST 请求读取正文?

javascript - JavaScript 标记的 src 属性是否会在所有浏览器中遵循 HTTP 重定向

javascript - Soundcloud 使用 NodeJS 登录并喜欢声音问题 - 401 未经授权

json - SoundCloud,按查询过滤特定用户的轨道不起作用

ios - 允许 (“null” ) 访问您的 SoundCloud 帐户

javascript - 如何将 Soundcloud API SDK 3.0 on(finish, handler) 方法附加到我的 Play 函数?

java - 如何正确地向客户端发送 HTTP 消息

java - 使用 Java 类将文件上传到服务器

codeigniter - 如何使用 Codeigniter 将文件上传到 Soundcloud?