IMusicPlayer网络音乐播放器_协议分析(一)
源码下载:http://download.****.net/detail/u011337769/9865014
开发步骤:
1.首先需要确定网络数据来源,这里可以是各种音乐平台
2.通过url访问web服务器,服务器将放回一个html的页面,通过右键检查选项可以跳转到对应的html标签处
3.通过观察可以得出相关信息:一个列表项有,id属性:值为songs_BB8BF48B08C0AEC4F8058EB95C8285B9,和一个单击响应函数:playerModule.playSong(this);
4.然后跳转到source选项,下断点:
5.通过断点可以得到如下数据,该数据便是json数据,其中包括了hash值(用于判断)和歌曲资源链接url,再返回network中,可以看到由服务器返回的数据文件,该文件内容如上方框所示,
"time":1495795180,//时间戳可转换成格林尼治时间 "req_hash":"BB8BF48B08C0AEC4F8058EB95C8285B9", "timeLength":190 |
7.访问该文件的的url为:
然后通过解析得到的json数据就可以得到资源的url了,便可以访问了。
8.接下来就是编程验证,根据分析,确定开发步骤:
8.1.使用jsoup(使用参考Android基础练习)对数据进行获取,
8.2.然后通过选择器进行过滤,过滤出歌曲列表
8.3.提取其中的id值为songs_BB8BF48B08C0AEC4F8058EB95C8285B9,提取出其中的hash值
8.4.构造访问服务器的url ,采用GET方式发送
8.5.获取从服务端返回的json格式数据
8.6.够造歌曲信息java bean对象,解析json数据
8.7.通过返回的json数据获取其中的歌曲资源的url,访问资源,保存到本地文件中
到此前期准备完成,然后编写代码:
http://download.****.net/detail/u011337769/9865014
9.测试效果: