Soundcloud API /stream returns 403 在 Firefox 中,但在 Chrome 中没有
Soundcloud API /stream returns 403 in Firefox, but not in Chrome
我正在尝试使用 Soundcloud API。我提出了一个工作正常的请求后端。我得到了曲目 ID,并用它调用 api.soundcloud.com/tracks/242264498/stream?client_id=[REMOVED]。 link 在 Chrome 和 Firefox 中都可以正常工作。但是,当它与 jQuery/HTML 一起使用时,它似乎在 Firefox 中失败了。
要求:
$(".jukebox").prop("src", 'https://api.soundcloud.com/tracks/'+track_id+'/stream?client_id=2487d5f911c4c44f0882c063ec104332').trigger('play');
响应(仅限 Firefox):
GET https://ec-media.sndcdn.com/C21H6loBzYez.128.mp3 [HTTP/1.1 403 Forbidden 23ms]
运行 这在 Firefox 控制台中播放曲目不到 1 秒。我能听到"stutter"。然后它给出 403.
$(".jukebox").prop("src", 'https://api.soundcloud.com/tracks/'+242264498+'/stream?client_id=2487d5f911c4c44f0882c063ec104332').trigger('play');
HTML 看起来像这样:
<audio class="audio_file jukebox" controls preload="auto" data-volume="0.25"></audio>
刚刚测试了您的代码。即使在 Firefox 中也能正常工作。
https://ec-media.sndcdn.com/C21H6loBzYez.128.mp3
这个url根本行不通,它需要访问令牌ID和其他GET参数。如果 SoundCloud 将您重定向到此 url(没有 GET 参数,例如访问令牌 ID 和任何其他参数),那么它可能与 SoundCloud 相关,因为它不是 'normal' 行为。
我建议你 re-test 你的代码,因为它对我来说工作得很好。
我正在尝试使用 Soundcloud API。我提出了一个工作正常的请求后端。我得到了曲目 ID,并用它调用 api.soundcloud.com/tracks/242264498/stream?client_id=[REMOVED]。 link 在 Chrome 和 Firefox 中都可以正常工作。但是,当它与 jQuery/HTML 一起使用时,它似乎在 Firefox 中失败了。
要求:
$(".jukebox").prop("src", 'https://api.soundcloud.com/tracks/'+track_id+'/stream?client_id=2487d5f911c4c44f0882c063ec104332').trigger('play');
响应(仅限 Firefox):
GET https://ec-media.sndcdn.com/C21H6loBzYez.128.mp3 [HTTP/1.1 403 Forbidden 23ms]
运行 这在 Firefox 控制台中播放曲目不到 1 秒。我能听到"stutter"。然后它给出 403.
$(".jukebox").prop("src", 'https://api.soundcloud.com/tracks/'+242264498+'/stream?client_id=2487d5f911c4c44f0882c063ec104332').trigger('play');
HTML 看起来像这样:
<audio class="audio_file jukebox" controls preload="auto" data-volume="0.25"></audio>
刚刚测试了您的代码。即使在 Firefox 中也能正常工作。
https://ec-media.sndcdn.com/C21H6loBzYez.128.mp3
这个url根本行不通,它需要访问令牌ID和其他GET参数。如果 SoundCloud 将您重定向到此 url(没有 GET 参数,例如访问令牌 ID 和任何其他参数),那么它可能与 SoundCloud 相关,因为它不是 'normal' 行为。
我建议你 re-test 你的代码,因为它对我来说工作得很好。