日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

豆瓣电台api

發(fā)布時間:2023/12/20 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 豆瓣电台api 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
使用工具是HttpWatch(官網(wǎng)有免費版本的下載).
下面這個URL中的from后的參數(shù)是瀏覽器的版本,我使用的是ie9.
url: http://douban.fm/j/app/radio/channels?獲取豆瓣的所有開放電臺 url: http://douban.fm/j/mine/playlist?channel=186?獲取拉丁(電臺id:186)電臺的所有歌曲

1.參數(shù)

type: [benpsur], RPC函數(shù)指示:

b: bye(?), 播放以刪除終止.長報告

e: end, 返回:'"OK"',報告歌曲播放完畢,短報告

n: new, 返回新播放列表,無其余必備參數(shù)(uid?).長報告

p: playing(?), 單首歌曲播放開始且播放列表已空時發(fā)送,長報告, 疑似是專門為平淡地獲取播放列表而設(shè)定的.

s: skip, 用戶點擊”下一首“時即時報告

u: unlike, sid的歌曲取消喜歡

r: rated(?), 喜歡一首歌時即時報告

uid: 用戶在豆瓣的UID,如果與請求中的cookie所帶uid值不同可能會收到回復(fù){"r":1,}

r: random, JavaScriptMath.random()自然產(chǎn)生的隨機數(shù)

h: history, 格式為'|'分割的sid + ':' + /[psbr]/避免短時間內(nèi)出現(xiàn)重復(fù)

sid: Song ID

aid: Album ID

rest: '|'分割的sid.已獲取的播放列表中尚未播放的曲目,避免短時間內(nèi)出現(xiàn)重復(fù).

status: 播放器狀態(tài), 'p'代表正在播放中.

du: 用戶持續(xù)無操作時間,疑似用于下發(fā)廣告.

2.channel是頻道請求參數(shù).

經(jīng)過測試,頻道對應(yīng)關(guān)系如下:

channel=0 私人兆赫? type=s

channel=1 公共兆赫【地區(qū)語言】:華語MHZ?

channel=2 公共兆赫【地區(qū)語言】:歐美MHZ

channel=3? 公共兆赫【年代】:70年代MHZ

channel=4? 公共兆赫【年代】:80年代MHZ?

channel=5? 公共兆赫【年代】:90年代MHZ?

channel=6 公共兆赫【地區(qū)語言】:粵語MHZ

channel=22 公共兆赫【地區(qū)語言】:法語MHZ

channel=17 公共兆赫【地區(qū)語言】:日語MHZ

channel=18 公共兆赫【地區(qū)語言】:韓語MHZ

channel=8 公共兆赫【流派】:民謠MHZ

channel=7 公共兆赫【流派】:搖滾MHZ

channel=13 公共兆赫【流派】:爵士MHZ

channel=27 公共兆赫【流派】:古典MHZ

channel=14 公共兆赫【流派】:電子MHZ

channel=16 公共兆赫【流派】:R&BMHZ

channel=15 公共兆赫【流派】:說唱MHZ

channel=10 公共兆赫【流派】:電影原聲MHZ

channel=26 公共兆赫:豆瓣音樂人MHZ

channel=20 公共兆赫【特輯】:女聲MHZ?

channel=dj DJ兆赫

channel=28公共兆赫【特輯】:動漫MHZ?

channel=32 公共兆赫【特輯】:咖啡MHZ?

channel=67 公共兆赫【特輯】:東京事變MHZ

channel=52 公共兆赫【品牌】:樂混翻唱MHZ

channel=58 公共兆赫【品牌】:路虎攬勝運動MHZ

?

如:channel=6?粵語兆赫?請求格式?http://douban.fm/j/mine/playlist?channel=6





?Google 百度在線音樂搜索和豆瓣電臺的出現(xiàn),仿佛預(yù)示著未來的收聽歌曲方式,只要一個客戶端無需下載打開就能聽,想聽什么就聽什么,而隨著3G資費的降低和wifi等無線網(wǎng)絡(luò)的普及,手機等移動終端的在線收聽終有一天會成為大眾主流。



? ?


1。


使用HttpWatch做PC瀏覽器截包分析工具。




2。


經(jīng)過反復(fù)測試,使用IssueHTTPGetL(_L8("http://douban.fm/j/mine/playlist?")); 發(fā)送請求獲得了“公共電臺”歌曲列表,?后跟參數(shù)不同意義不同3 3。 不同頻道請求參數(shù) channel=1 華語兆赫 channel=2 歐美兆赫 channel=3 70兆赫 channel=4 80兆赫 channel=5 90兆赫 channel=6 粵語兆赫 請求格式 http://douban.fm/j/mine/playlist?channel=1 5 申請獲得cookie : 使用CHTTPFormEncoder post 獲得 bid 和 dbcl2 cookie值,這個dbcl2是個有意思的值,相當(dāng)于一個sessionid,也就是登陸網(wǎng)站的最重要憑證,接著從302中跳轉(zhuǎn)到http://www.douban.com/,GET請求中設(shè)置上一步獲得的dbcl2 等cookie值可以獲得ck這個cookie值,這樣也就拿到了登陸私人電臺中最重要的兩個cookie值。 在請求播放列表中可以獲得rdat這個值, _utma 等cookie值是Google統(tǒng)計值,具體使用可以Google。 如果設(shè)置正確的dbcl2和ck這兩個cookie值,請求列表獲得EGotResponseHeaders將不再是302而是200。 6 有了 dbcl2 和 ck 這兩個cookie,下面就可以向豆瓣發(fā)送“喜歡” “刪除” 等操作了 比如“喜歡”請求 IssueHTTPGetL(_L8("http://douban.fm/j/mine/playlist?r=0.1237416032899653&type=r&sid=491899&uid=26636761&h=491899:r&du=9&channel=0&rest=983288&aid=1405209&last_channel=0")); 參數(shù)以 參數(shù)=值 為數(shù)組,意義大概如下(可能不完全準(zhǔn)確) 參數(shù)type: [benpsur], RPC函數(shù)指示: 值p: playing(?), 歌曲無操作播放完成標(biāo)記 值r: rated(?), 喜歡一首歌時即時報告 值u: unlike, 將sid的歌曲取消喜歡 值b: bye(?), 播放以刪除終止. 值s: skip, 用戶點擊"下一首"時即時報告 值e: end, 返回:'"OK"', 報告歌曲播放完畢, 短報告 值n: new, 返回新播放列表 參數(shù)uid: 值為用戶在豆瓣的UID, 參數(shù)r: random, 值小數(shù)點后17位自然產(chǎn)生的隨機數(shù) 參數(shù)h: history, 值為格式為'|'分割的 sid + ':' + /[psbr]/ 避免短時間內(nèi)出現(xiàn)重復(fù) 參數(shù)sid:?值為Song ID 參數(shù)aid:值為 Album ID 參數(shù)rest:值為 '|'分割的sid. 已獲取的播放列表中尚未播放的曲目, 避免短時間內(nèi)出現(xiàn)重復(fù). 參數(shù)status:?值為播放器狀態(tài), 'p'代表正在播放中.? 參數(shù)du:?值為用戶持續(xù)無操作時間,



總結(jié)

以上是生活随笔為你收集整理的豆瓣电台api的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。