豆瓣电台api | 您所在的位置:网站首页 › 豆瓣uid › 豆瓣电台api |
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 实验室设备网 版权所有 |