Wireshark抓取百度音乐API记录
为了搞个网页播放器玩玩,主要是需要获得歌单id和歌曲id的api。
大部分网站的API都已经有了,百度歌单的api百度不到,只能自己动手了。
1.环境:
带WIFI的路由器192.168.1.0/24
电脑Ubuntu系统
手机安卓系统
2.电脑软件:
//wireshark用以抓取 sudo apt-get install wireshark //squid用以架设局域网代理 sudo apt-get install squid
3.配置squid代理,小指安装为squid3版本,没版本号就不用加了~
sudo vim /etc/squid3/squid.conf
修改:
http_access deny all
改为:
http_access allow all
修改 http_port 为 9090,即
http_port 3128
改为
http_port 9090
重启squid:
sudo service squid3 restart
4.获取电脑IP:
ifconfig
小指的电脑IP为:192.168.1.168
5.配置手机WIFI代理:
将手机连上和电脑同一个局域网的WIFI
连接后长按此WIFI SSID大约5秒,弹出框点击修改网络
选择显示高级选项,设置:
代理设置:手动
代理服务器主机名:192.168.1.168
代理服务器端口:9090
保存~
6.配置Wireshark并手机上百度音乐网站进行抓取
配置Wireshark:
使用管理员账号打开wireshark:
sudo wireshark
点击Interfaces->勾选eth0->点击Options->Caption Filter输入:
port 9090
点击Start开始抓取,也可以在手机上百度音乐网站前点击开始~
手机端:
关闭其他任何上网的软件,打开浏览器,输入
http://music.baidu.com/home/?fr=mo
电脑端Wireshark点击开始抓取~
手机网页点击歌单导航,然后随意点击一个歌单并播放~
电脑端Wireshark停止抓取,Capture->stop
7.查看抓取的API:
在Wireshark的Filter再输入:
http.request.method=="GET"
回车键确认,测试歌单的ID为7230,根据经验查找包含json样式的,可发现这样一个API:
http://tingapi.ting.baidu.comhttp://tingapi.ting.baidu.com/v1/restserver/ting?from=webapp_music&method=baidu.ting.diy.gedanInfo&format=jsonp&callback=diy_gedanInfo&listid=7230&_=1472741965191
在电脑浏览器输入这个网址,去除不必要的参数,可获得最终的百度音乐歌单API为:
http://tingapi.ting.baidu.com/v1/restserver/ting?from=webapp_music&method=baidu.ting.diy.gedanInfo&listid=歌单ID
授人以鱼不如授人以渔,其他API自己找去吧^_^
点赞4
支持一下