# NeteaseCloudMusicApi
网易云音乐 NodeJS 版 API
## 灵感来自
[disoul/electron-cloud-music](https://github.com/disoul/electron-cloud-music)
[darknessomi/musicbox](https://github.com/darknessomi/musicbox)
[sqaiyan/netmusic-node](https://github.com/sqaiyan/netmusic-node)
## 工作原理
跨站请求伪造 (CSRF), 伪造请求头 , 调用官方 API
## 功能特性
1. 登录
2. 刷新登录
3. 获取用户信息 , 歌单,收藏,mv, dj 数量
4. 获取用户歌单
5. 获取用户电台
6. 获取用户关注列表
7. 获取用户粉丝列表
8. 获取用户动态
9. 获取用户播放记录
10. 获取精品歌单
11. 获取歌单详情
12. 搜索
13. 搜索建议
14. 获取歌词
15. 歌曲评论
16. 收藏单曲到歌单
17. 专辑评论
18. 歌单评论
19. mv 评论
20. 电台节目评论
21. banner
22. 获取歌曲详情
23. 获取专辑内容
24. 获取歌手单曲
25. 获取歌手 mv
26. 获取歌手专辑
27. 获取歌手描述
28. 获取相似歌手
29. 获取相似歌单
30. 相似 mv
31. 获取相似音乐
32. 获取最近 5 个听了这首歌的用户
33. 获取每日推荐歌单
34. 获取每日推荐歌曲
35. 私人 FM
36. 签到
37. 喜欢音乐
38. 垃圾桶
39. 歌单 ( 网友精选碟 )
40. 新碟上架
41. 热门歌手
42. 最新 mv
43. 推荐 mv
44. 推荐歌单
45. 推荐新音乐
46. 推荐电台
47. 推荐节目
48. 独家放送
49. mv 排行
50. 获取 mv 数据
51. 播放 mv/视频
52. 排行榜
53. 歌手榜
54. 云盘
55. 电台 - 推荐
56. 电台 - 分类
57. 电台 - 分类推荐
58. 电台 - 订阅
59. 电台 - 详情
60. 电台 - 节目
61. 给评论点赞
62. 获取动态
63. 获取热搜
64. 发送私信
65. 发送私信歌单
66. 新建歌单
67. 收藏/取消收藏歌单
68. 歌单分类
69. 收藏的歌手列表
70. 订阅的电台列表
71. 相关歌单推荐
72. 付费精选接口
73. 音乐是否可用检查接口
74. 登录状态
75. 获取视频数据
76. 发送/删除评论
77. 热门评论
78. 视频评论
79. 退出登录
80. 所有榜单
81. 所有榜单内容摘要
82. 收藏视频
83. 收藏 MV
84. 视频详情
85. 相关视频
86. 关注用户
87. 新歌速递
88. 喜欢音乐列表(无序)
89. 收藏的 MV 列表
90. 获取最新专辑
91. 听歌打卡
## 安装
```shell
$ git clone git@github.com:Binaryify/NeteaseCloudMusicApi.git
$ npm install
```
## 运行
```shell
$ node app.js
```
服务器启动默认端口为 3000, 若不想使用 3000 端口 , 可使用以下命令 : Mac/Linux
```shell
$ PORT=4000 node app.js
```
windows 下使用 git-bash 或者 cmder 等终端执行以下命令 :
```shell
$ set PORT=4000 && node app.js
```
## 可以使用代理
在 query 参数中加上 proxy=your-proxy 即可让这一次的请求使用 proxy
```javascript
// 例子
const url = `http://localhost:3000/song/url?id=33894312&proxy=http://121.196.226.246:84`
fetch(url).then(function() {
// do what you want
})
// 结果
// {"data":[{"id":33894312,"url":"http://m10.music.126.net/20180104125640/930a968b3fb04908b733506b3833e60b/ymusic/0fd6/4f65/43ed/a8772889f38dfcb91c04da915b301617.mp3","br":320000,"size":10691439,"md5":"a8772889f38dfcb91c04da915b301617","code":200,"expi":1200,"type":"mp3","gain":-2.0E-4,"fee":0,"uf":null,"payed":0,"flag":0,"canExtend":false}],"code": 200}
```
## 更新到 v3.0 说明
!>2018.10.14 更新到 3.0.0,使用了模块化机制,因为部分接口参数和 url 做了调整,如还不想升级到 3.0.0,请查看 [v2 的文档](http://binaryify.github.io/NeteaseCloudMusicApi/#/v2), [更新日志](https://github.com/Binaryify/NeteaseCloudMusicApi/blob/master/CHANGELOG.MD), [2.0+下载地址](https://github.com/Binaryify/NeteaseCloudMusicApi/releases/tag/v2.20.5), 同时 2.0+ 将不再维护
## Docker 容器运行
> 注意: 在 docker 中运行的时候, 由于使用了 request 来发请求, 所以会检查几个 proxy 相关的环境变量(如下所列), 这些环境变量 会影响到 request 的代理, 详情请参考[request 的文档](https://github.com/request/request#proxies), 如果这些环境变量 指向的代理不可用, 那么就会造成错误, 所以在使用 docker 的时候一定要注意这些环境变量. 不过, 要是你在 query 中加上了 proxy 参数, 那么环境变量会被覆盖, 就会用你通过 proxy 参数提供的代理了.
request 相关的环境变量
1. http_proxy
2. https_proxy
3. HTTP_PROXY
4. HTTPS_PROXY
5. no_proxy
6. NO_PROXY
```shell
docker pull binaryify/netease_cloud_music_api
docker run -d -p 3000:3000 --name netease_cloud_music_api binaryify/netease_cloud_music_api
// 或者
docker run -d -p 3000:3000 binaryify/netease_cloud_music_api
// 去掉或者设置相关的环境变量
docker run -d -p 3000:3000 --name netease_cloud_music_api -e http_proxy= -e https_proxy= -e no_proxy= -e HTTP_PROXY= -e HTTPS_PROXY= -e NO_PROXY= binaryify/netease_cloud_music_api
// 或者
docker run -d -p 3000:3000 -e http_proxy= -e https_proxy= -e no_proxy= -e HTTP_PROXY= -e HTTPS_PROXY= -e NO_PROXY= binaryify/netease_cloud_music_api
```
> 以下是自行 build docker 镜像方式
```
$ git clone https://github.com/Binaryify/NeteaseCloudMusicApi && cd NeteaseCloudMusicApi
$ sudo docker build . -t netease-music-api
$ sudo docker run -d -p 3000:3000 netease-music-api
```
## 接口文档
### 调用前须知
!> 为使用方便,降低门槛,登录接口直接使用了 get 明文请求,请按实际需求对源码修改
!> 由于接口做了缓存处理 ( 缓存 2 分钟,不缓存数据极容易引起网易服务器高频ip错误 , 可在 app.js 设置 , 可能会导致登陆后获取不
到 cookie), 相同的 url 会在两分钟内只向网易服务器发一次请求 , 如果遇到不需要缓
存结果的接口 , 可在请求 url 后面加一个时间戳参数使 url 不同 , 例子 :
`/simi/playlist?id=347230×tamp=1503019930000`
!> 如果是跨域请求 , 请在所有请求带上 `xhrFields: { withCredentials: true }` 否则
可能会因为没带上 cookie 导致 301, 具体例子可看 `public/test.html`, 例子使用 jQuery, axios 版本也类似
!> 301 错误基本都是没登录就调用了需要登录的接口,如果登陆了还是提示 301, 基本都是缓存把数据缓存起来了,解决方法是等待 2 分钟或者重启服务重新登录后再调用接口
!> 部分接口如登录接口不能调用太频繁 , 否则可能会触发 503 错误或者 ip 高频错误 ,若需频繁调用 , 需要准备 IP 代理池 (更新:已加入缓存机制,但仍需注意).
!> 本项目仅供学习使用 , 文档可能会有缓存 , 如果文档版本和 github 上的版本不一致,请清除缓存再查看
!> 由于网易限制,此项目在国外服务器上使用会受到限制,如需解决 , 可使用大陆服务器或者使用代理 , 感谢 [@hiyangguo](https://github.com/hiyangguo)提出的[解决方法](https://github.com/Binaryify/NeteaseCloudMusicApi/issues/29#issuecomment-298358438):
在 'util.js' 的 'headers' 处增加 `X-Real-IP':'211.161.244.70' // 任意国内 IP`
即可解决
### 登录
说明 : 登录有两个接口
#### 1. 手机登录
**必选参数 :** `phone`: 手机号码 `password`: 密码
**接口地址 :** `/login/cellphone`
**调用例子 :** `/login/cellphone?phone=xxx&password=yyy`
#### 2. 邮箱登录
~~ 注意 : 此接口被网易和谐了 , 待修复 , 暂时使用手机登录 (2017.05.20)~~
> 更新 : 此接口已经可以正常使用(2018.07.03)
**必选参数 :** `email`: 163 网易邮箱 `password`: 密码
**接口地址 :** `/login`
**调用例子 :** `/login?email=xxx@163.com&password=yyy`
返回数据如下图 :
![登录](https://raw.githubusercontent.com/Binaryify/NeteaseCloudMusicApi/master/static/%E7%99%BB%E5%BD%95.png)
完成登录后 , 会在浏览器保存一个 Cookies 用作登录凭证 , 大部分 API 都需要用到这个
Cookies
#### 注意
调用登录接口的速度比调用其他接口慢 , 因为登录过程调用了加密算法
### 刷新登录
�
没有合适的资源?快使用搜索试试~ 我知道了~
学习笔记HTML-css-JS.zip
共273个文件
js:126个
html:62个
png:31个
需积分: 1 3 下载量 35 浏览量
2024-03-17
22:28:28
上传
评论 2
收藏 49.59MB ZIP 举报
温馨提示
学习笔记HTML-css-JS.zip学习笔记HTML-css-JS.zip学习笔记HTML-css-JS.zip 学习笔记HTML-css-JS.zip学习笔记HTML-css-JS.zip学习笔记HTML-css-JS.zip 学习笔记HTML-css-JS.zip学习笔记HTML-css-JS.zip学习笔记HTML-css-JS.zip 学习笔记HTML-css-JS.zip学习笔记HTML-css-JS.zip学习笔记HTML-css-JS.zip 学习笔记HTML-css-JS.zip学习笔记HTML-css-JS.zip学习笔记HTML-css-JS.zip 学习笔记HTML-css-JS.zip学习笔记HTML-css-JS.zip学习笔记HTML-css-JS.zip 学习笔记HTML-css-JS.zip学习笔记HTML-css-JS.zip学习笔记HTML-css-JS.zip 学习笔记HTML-css-JS.zip学习笔记HTML-css-JS.zip学习笔记HTML-css-JS.zip 学习笔记HTML-css-JS.zip学习笔记HTML-css-JS.z
资源推荐
资源详情
资源评论
收起资源包目录
学习笔记HTML-css-JS.zip (273个子文件)
bootstrap.css 143KB
bootstrap.min.css 118KB
bootstrap-theme.css 26KB
bootstrap-theme.min.css 23KB
demo.css 8KB
iconfont.css 2KB
chajian.css 147B
Dockerfile 253B
glyphicons-halflings-regular.eot 20KB
iconfont.eot 2KB
.gitignore 63B
demo_index.html 8KB
14-8-精华项目 - 旋转的相册.html 7KB
video.html 6KB
9-xiaomidaohangtiao.html 4KB
44-jq的图片轮播.html 4KB
9-小米固定宽度式布局导航条、购物车效果.html 4KB
7-4-360首页产品推荐实战.html 4KB
38-ES6深度精讲.html 4KB
42-1-从头开始实现jq框架:选择器、on和html.html 3KB
28-h5的本地存储、永久存储记事本实战.html 3KB
35-精讲及实战 - 网易云播放器.html 3KB
31-1类、构造器和面向对象.html 3KB
7-3-qq空间布局效果:固定宽度式布局分析.html 3KB
33-canvas和小圆点.html 3KB
7-2-小米大banner的demo与实现和细节.html 2KB
7-1-布局属性position.html 2KB
6-2-QQ空间登陆实战.html 2KB
16-JS - 系统入门:变量、数据类型和内存.html 2KB
39,40-jQuery 概念和入门 、 常用方法和属性.html 2KB
8-2-小米首页展示效果实战.html 2KB
11-2-3d转化核心属性和结构精讲.html 2KB
3-2-css选择器精讲、选择器优先级.html 2KB
20-4-小米首页轮播图程序模型.html 2KB
34-精讲及实战 - 视频播放器和弹幕.html 2KB
21-页面效果基础 - 监听器.html 2KB
18-JS - 基础语句:条件判断和循环语句、实用操作.html 1KB
11-3-css之animation:动画、3d旋转立方体、总结.html 1KB
43-jq的小米首页实战.html 1KB
12-2-响应式核心:4列-响应式栅格系统实战.html 1KB
2-3-表单、input和button 标签属性、字符实体.html 1KB
26-JS函数高级、面向对象和构造器、this.html 1KB
7-5-淘宝导航条.html 1KB
20-1,2,3-document,选择器,HTMLCollection,style.html 1KB
32-ajax和json精讲和实战.html 1KB
14-3-精华项目 - 酷炫科技旋转.html 1KB
6-1-简单复习.html 1KB
14-1-新时代的布局技术 - flex.html 1KB
index.html 1KB
15-JS类型特点、基础数据类型精讲.html 1KB
2-1-超链接a标签、锚点、url和uri、神奇的a标签.html 1KB
1-2-Hbuilder常用标签、图像标签、文件路径.html 1KB
index.html 993B
20-7.html 982B
24-1-ajax讲解、拉取json数据填充html项目.html 982B
5-CSS - 盒模型精讲、盒模型阴影.html 953B
test.html 950B
4-css基础文本样式、文字、背景样式.html 943B
8-1-伪类、为qq空间项目添加伪类效果.html 942B
11-1-css3之transform:常用的2d、3d变换.html 889B
45-BS入门 - 核心、样式、组件.html 889B
1-1-Hbuider常用操作、文档声明、head标签.html 795B
12-1-苹果首页响应式布局分析、响应式基础.html 781B
22-JS对象结构分析.html 728B
19-轮播图程序模型.html 702B
3-1-css入门:概念、使用方式、选择器初步讲解.html 659B
2-2-表格标签table.html 634B
17-运算符的坑:数学、逻辑、三元、全等运算符.html 591B
10-css3之transition:过渡.html 542B
23-.html 537B
13-less插件安装、实战qq空间项目.html 459B
14-2-精华项目 - flex骰子.html 280B
20-4,5,6.html 0B
favicon.ico 58KB
8.jpg 746KB
4.jpg 380KB
2.jpg 310KB
1.jpg 276KB
3.jpg 275KB
1.jpg 275KB
5.jpg 265KB
6.jpg 265KB
7.jpg 236KB
4.jpg 182KB
3.jpg 148KB
5.jpg 124KB
9.jpg 115KB
jq.js 239KB
bootstrap.js 68KB
bootstrap.min.js 36KB
wangyiyun.js 8KB
31.js 8KB
request.js 5KB
iconfont.js 3KB
sw.js 3KB
app.js 3KB
crypto.js 2KB
top_list.js 1KB
related_playlist.js 1KB
top_playlist.js 961B
共 273 条
- 1
- 2
- 3
资源评论
龙年行大运
- 粉丝: 1385
- 资源: 3960
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 案例分析:研发人员绩效和薪酬管理的困境.doc
- 企业中薪酬管理存在的问题分析及对策.doc
- 员工年度薪酬收入结构分析报告.doc
- 薪酬分析报告.docx
- 西门子S7-1200控制四轴伺服程序案例: 1.内容涵盖伺服,步进点动,回原,相对定位,绝对定位,速度模式控制 特别适合学习伺服和步进的朋友们 PTO伺服轴脉冲定位控制+速度模式控制+扭矩模式; 2
- 企业公司薪酬保密协议.doc
- 薪酬保密制度 (1).docx
- 薪酬保密管理规定制度.doc
- 薪酬保密制度.docx
- 薪酬保密协议书.docx
- 薪酬保密承诺书.docx
- 薪酬管理制度.doc
- 员工工资薪酬保密协议.docx
- 员工工资保密暂行管理条例.docx
- 员工薪酬保密协议.doc
- 1Redis基础认识与安装.html
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功