如何编程方式获取 OS X 上网易云音乐当前播放的歌曲信息?

2016-02-20 20:05:28 +08:00
 zhjits
歌曲信息:标题,演唱者(,最好有当前进度)
不限语言,不限实现, OS X 10.11 能用。

一个思路:因为网易云音乐会在每首歌开始的时候发送通知,所以可以尝试读出通知栏的通知内容。然而我没有找到这方面的资料……
3335 次点击
所在节点    问与答
5 条回复
yxjxx
2016-02-20 20:12:58 +08:00
你的目的?别是 AB 问题了。
zhjits
2016-02-20 20:17:11 +08:00
@yxjxx 已经没有更大的目的了,就是想自己写一个类似 last.fm 功能的东西
plqws
2016-02-20 20:52:41 +08:00
拦截抓包,切歌的时候应该会发送读取歌曲信息的请求。
chemzqm
2016-02-20 21:45:02 +08:00
抓包吧 网易云音乐没有提供 applescript API
zhjits
2016-02-20 22:05:33 +08:00
@plqws @chemzqm 抓包已经抓到吐。

目前的情况是:

通过 tcpdump 的 Apple 扩展过滤器来分析 metadata 按进程名过滤: sudo tcpdump -Q "proc =NeteaseMusic" -k -v -U -w -
这个做法不太现实,因为代理软件或者杀软可以通过内核驱动截获网络请求,导致在出口上抓到的进程名改变。

通过 DTrace 监视系统调用: sudo dtruss -n NeteaseMusic -t read -t write 2>&1
看起来比较靠谱,然而我只能抓到 GET 图片以及 POST 各种统计数据和检查国家,而 POST 内容是加密的……

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/257896

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX