2012-12-10 43 views
2

我使用的SoundCloud API來檢索一個流化軌道流URL。 我跟隨重定向和我結束了,看起來像一個URL:的SoundCloud API:GET成功,HEAD失敗

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標題,這樣我就知道我需要發送多少個GET才能播放整首歌曲。

然後我發送多個分GET請求,每一個與不同的Range報頭。

的問題是,有時HEAD請求返回403狀態代碼,即使GET請求完全相同的網址與200狀態代碼返回。看來,當且僅當主機是ak-media.soundcloud.com發生這種情況。

這是應該發生的嗎?我預計HEAD請求發給返回相同的標題爲GET請求,不只是身體的反應。

乾杯,

PB

PS:我也許應該提及我的代碼是在計算機上運行,但有一個微小的8位處理器,具有非常音頻設備上有限的資源。

回答

0

不幸的是,目前我們只爲GET請求提供有保證的正確響應。

作爲黑客,你可以嘗試用很短的range來做請求。

+1

謝謝, 其實我在等待答案時實現了這個解決方法:D – PierreB