豆瓣电台api 您所在的位置:网站首页 豆瓣uid 豆瓣电台api

豆瓣电台api

2024-01-22 23:09| 来源: 网络整理| 查看: 265

1.参数

type: [benpsur], RPC函数指示:

b: bye(?), 播放以删除终止.长报告

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

n: new, 返回新播放列表,无其余必备参数(uid?).长报告

p: playing(?), 单首歌曲播放开始且播放列表已空时发送,长报告, 疑似是专门为平淡地获取播放列表而设定的.

s: skip, 用户点击”下一首“时即时报告

u: unlike, 将sid的歌曲取消喜欢

r: rated(?), 喜欢一首歌时即时报告

uid: 用户在豆瓣的UID,如果与请求中的cookie所带uid值不同可能会收到回复{"r":1,}

r: random, JavaScript中Math.random()自然产生的随机数

h: history, 格式为'|'分割的sid + ':' + /[psbr]/避免短时间内出现重复

sid: Song ID

aid: Album ID

rest: '|'分割的sid.已获取的播放列表中尚未播放的曲目,避免短时间内出现重复.

status: 播放器状态, 'p'代表正在播放中.

du: 用户持续无操作时间,疑似用于下发广告.

2.channel是频道请求参数.

经过测试,频道对应关系如下:

channel=0 私人兆赫  type=s

channel=1 公共兆赫【地区语言】:华语MHZ 

channel=2 公共兆赫【地区语言】:欧美MHZ

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

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

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

channel=6 公共兆赫【地区语言】:粤语MHZ

channel=22 公共兆赫【地区语言】:法语MHZ

channel=17 公共兆赫【地区语言】:日语MHZ

channel=18 公共兆赫【地区语言】:韩语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 百度在线音乐搜索和豆瓣电台的出现,仿佛预示着未来的收听歌曲方式,只要一个客户端无需下载打开就能听,想听什么就听什么,而随着3G资费的降低和wifi等无线网络的普及,手机等移动终端的在线收听终有一天会成为大众主流。

     

1。

使用HttpWatch做PC浏览器截包分析工具。

2。

经过反复测试,使用IssueHTTPGetL(_L8("http://douban.fm/j/mine/playlist?")); 发送请求获得了“公共电台”歌曲列表,?后跟参数不同意义不同3 3。 不同频道请求参数 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是个有意思的值,相当于一个sessionid,也就是登陆网站的最重要凭证,接着从302中跳转到http://www.douban.com/,GET请求中设置上一步获得的dbcl2 等cookie值可以获得ck这个cookie值,这样也就拿到了登陆私人电台中最重要的两个cookie值。 在请求播放列表中可以获得rdat这个值, _utma 等cookie值是Google统计值,具体使用可以Google。 如果设置正确的dbcl2和ck这两个cookie值,请求列表获得EGotResponseHeaders将不再是302而是200。 6 有了 dbcl2 和 ck 这两个cookie,下面就可以向豆瓣发送“喜欢” “删除” 等操作了 比如“喜欢”请求 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")); 参数以 参数=值 为数组,意义大概如下(可能不完全准确) 参数type: [benpsur], RPC函数指示: 值p: playing(?), 歌曲无操作播放完成标记 值r: rated(?), 喜欢一首歌时即时报告 值u: unlike, 将sid的歌曲取消喜欢 值b: bye(?), 播放以删除终止. 值s: skip, 用户点击"下一首"时即时报告 值e: end, 返回:'"OK"', 报告歌曲播放完毕, 短报告 值n: new, 返回新播放列表 参数uid: 值为用户在豆瓣的UID, 参数r: random, 值小数点后17位自然产生的随机数 参数h: history, 值为格式为'|'分割的 sid + ':' + /[psbr]/ 避免短时间内出现重复 参数sid: 值为Song ID 参数aid:值为 Album ID 参数rest:值为 '|'分割的sid. 已获取的播放列表中尚未播放的曲目, 避免短时间内出现重复. 参数status: 值为播放器状态, 'p'代表正在播放中.  参数du: 值为用户持续无操作时间,



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有