修改并补完音频流url 并勘误

This commit is contained in:
SocialSisterYi
2020-07-21 17:38:44 +08:00
parent aeeffc2a43
commit cb7185b509
12 changed files with 359 additions and 105 deletions

92
audio/coin&fav.md Normal file
View File

@@ -0,0 +1,92 @@
# 音频投币&收藏
本页所有操作均需登录SESSDATA
## 查询音频收藏状态
> http://www.bilibili.com/audio/music-service-c/web/collections/songs-coll
*请求方式GET*
认证方式CookieSESSDATA
鉴权方式Cookie中`DedeUserID`存在且不为0
**url参数**
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ------ | ---- | -------- | ------ | ---- |
| sid | num | 音频auID | 必要 | |
**json回复**
根对象:
| 字段 | 类型 | 内容 | 备注 |
| ---- | ---- | -------- | ------------------------------------------------------------ |
| code | num | 返回值 | 0成功<br />72000000参数错误<br />72010002账号未登陆<br />7201006该音频不存在或已被下架 |
| msg | str | 错误信息 | 默认为success |
| data | bool | 是否收藏 | false未收藏<br />true已收藏 |
**示例:**
查询音频`au13598`的收藏状态
```shell
curl -G 'http://www.bilibili.com/audio/music-service-c/web/collections/songs-coll'\
--data-urlencode 'sid=13598'\
-b 'SESSDATA=xxx;DedeUserID=1;'
```
```json
{
"code": 0,
"msg": "success",
"data": true
}
```
## 查询音频投币数
> http://www.bilibili.com/audio/music-service-c/web/coin/audio
*请求方式GET*
认证方式CookieSESSDATA
鉴权方式Cookie中`DedeUserID`存在且不为0
**url参数**
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ------ | ---- | -------- | ------ | ---- |
| sid | num | 音频auID | 必要 | |
**json回复**
根对象:
| 字段 | 类型 | 内容 | 备注 |
| ---- | ---- | -------- | ------------------------------------------------------------ |
| code | num | 返回值 | 0成功<br />72000000参数错误<br />72010002账号未登陆<br />7201006该音频不存在或已被下架 |
| msg | str | 错误信息 | 默认为success |
| data | num | 投币数量 | 0为未投币上限为2 |
**示例:**
查询音频`au13598`的投币数
```shell
curl -G 'http://www.bilibili.com/audio/music-service-c/web/coin/audio'\
--data-urlencode 'sid=15664'\
-b 'SESSDATA=xxx;DedeUserID=1;'
```
```json
{
"code": 0,
"msg": "success",
"data": 1
}
```

406
audio/info.md Normal file
View File

@@ -0,0 +1,406 @@
# 歌曲基本信息
## 查询歌曲基本信息
> http://www.bilibili.com/audio/music-service-c/web/song/info
*请求方式GET*
认证方式CookieSESSDATA
**url参数**
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ------ | ---- | -------- | ------ | ---- |
| sid | num | 音频auID | 必要 | |
**json回复**
根对象:
| 字段 | 类型 | 内容 | 备注 |
| ---- | ----------------------------- | -------- | ------------------------------------------------------------ |
| code | num | 返回值 | 0成功<br />72000000参数错误<br />7201006该音频不存在或已被下架<br />72010027版权音乐重定向 |
| msg | str | 错误信息 | 默认为success |
| data | 正确时obj<br />错误时null | 信息本体 | |
`data`对象:
| 字段 | 类型 | 内容 | 备注 |
| ---------- | ------ | ------------------ | ------------------ |
| id | num | 音频auID | |
| uid | num | UP主UID | |
| uname | str | UP主昵称 | |
| author | str | 作者名 | |
| title | str | 歌曲标题 | |
| cover | str | 封面图片url | |
| intro | str | 歌曲简介 | |
| lyric | str | lrc歌词url | |
| crtype | num | 1 | **作用尚不明确** |
| duration | num | 歌曲时间长度 | 单位为秒 |
| passtime | num | 歌曲发布时间 | 时间戳 |
| curtime | num | 当前请求时间 | 时间戳 |
| aid | num | 关联视频avID | 无为0 |
| bvid | str | 关联视频bvID | 无为空 |
| cid | num | 关联视频CID | 无为0 |
| msid | num | 0 | **作用尚不明确** |
| attr | num | 0 | **作用尚不明确** |
| limit | num | 0 | **作用尚不明确** |
| activityId | num | 0 | **作用尚不明确** |
| limitdesc | str | 空 | **作用尚不明确** |
| ctime | null | - | **作用尚不明确** |
| statistic | obj | 状态数 | |
| vipInfo | obj | UP主会员状态 | |
| collectIds | array | 歌曲所在的收藏夹ID | 需要登录(SESSDATA) |
| coin_num | num | 投币数 | |
`data`中的`statistic`对象:
| 字段 | 类型 | 内容 | 备注 |
| ------- | ---- | -------- | ---- |
| sid | num | 音频auID | |
| play | num | 播放次数 | |
| collect | num | 收藏数 | |
| comment | num | 评论数 | |
| share | num | 分享数 | |
`data`中的`vipInfo`对象:
| 字段 | 类型 | 内容 | 备注 |
| ------------ | ---- | ------------ | ----------------------------------- |
| type | num | 会员类型 | 0无<br />1月会员<br />2年会员 |
| status | num | 会员状态 | 0无<br />1有 |
| due_date | num | 会员到期时间 | 时间戳 毫秒 |
| vip_pay_type | num | 会员开通状态 | 0无<br />1有 |
`data`中的`collectIds`数组:
| 项 | 类型 | 内容 | 备注 |
| ---- | ---- | ------------------------- | ---- |
| 0 | num | 第1个所在的收藏夹ID | |
| n | num | 第n+1个所在的收藏夹ID | |
| …… | num | …… | …… |
**示例:**
查询音频`au13598`的基本信息
```shell
curl -G 'http://www.bilibili.com/audio/music-service-c/web/song/info'\
--data-urlencode 'sid=13598'\
-b 'SESSDATA=xxx'
```
```json
{
"code": 0,
"msg": "success",
"data": {
"id": 13598,
"uid": 486183,
"uname": "排骨教主",
"author": "排骨教主",
"title": "牵丝戏",
"cover": "http://i0.hdslb.com/bfs/music/cf50d93b4dc08bfc6d3112041d6de0e56045ac5b.jpg",
"intro": "自制 这次要特别感谢山东省京剧院的各位年轻的老师们对我戏腔发声的悉心指导\n关注排骨的微博@排骨节操收割机\n排骨QQ群456237456\n感谢@妄北没睡够(新浪微博) 画的视频图,太美了!!!!!\n",
"lyric": "http://i0.hdslb.com/bfs/music/150587810313598.lrc",
"crtype": 1,
"duration": 239,
"passtime": 1501640683,
"curtime": 1590154258,
"aid": 2554020,
"bvid": "BV1us411S7E6",
"cid": 3990196,
"msid": 0,
"attr": 0,
"limit": 0,
"activityId": 0,
"limitdesc": "",
"ctime": null,
"statistic": {
"sid": 13598,
"play": 1028516,
"collect": 30914,
"comment": 523,
"share": 384
},
"vipInfo": {
"type": 2,
"status": 1,
"due_date": 1620316800000,
"vip_pay_type": 0
},
"collectIds": [
15967839
],
"coin_num": 1777
}
}
```
## 查询歌曲TAG
> http://www.bilibili.com/audio/music-service-c/web/tag/song
*请求方式GET*
**url参数**
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ------ | ---- | -------- | ------ | ---- |
| sid | num | 音频auID | 必要 | |
**json回复**
根对象:
| 字段 | 类型 | 内容 | 备注 |
| ---- | ------ | -------- | ------------- |
| code | num | 返回值 | 0成功 |
| msg | str | 错误信息 | 默认为success |
| data | array | TAG列表 | 无为空 |
`data`数组:
| 项 | 类型 | 内容 | 备注 |
| ---- | ---- | -------- | ---- |
| 0 | str | TAG1 | |
| n | str | TAG(n+1) | |
| …… | str | …… | …… |
`data`数组中的对象:
| 字段 | 类型 | 内容 | 备注 |
| ------- | ---- | ---------- | ---------------- |
| type | str | song | **作用尚不明确** |
| subtype | num | | **作用尚不明确** |
| key | num | TAG ID | **作用尚不明确** |
| info | str | TAG名 | |
**示例:**
查询音频`au15664`的TAG
```shell
curl -G 'http://www.bilibili.com/audio/music-service-c/web/tag/song'\
--data-urlencode 'sid=15664'
```
```json
{
"code": 0,
"msg": "success",
"data": [
{
"type": "song",
"subtype": 0,
"key": 1,
"info": "音乐"
},
{
"type": "song",
"subtype": 1,
"key": 3,
"info": "人声"
},
{
"type": "song",
"subtype": 2,
"key": 2,
"info": "翻唱"
},
{
"type": "song",
"subtype": 3,
"key": 33,
"info": "日语"
},
{
"type": "song",
"subtype": 5,
"key": 41,
"info": "网络歌曲"
},
{
"type": "song",
"subtype": 4,
"key": 7,
"info": "流行"
}
]
}
```
## 查询歌曲创作成员列表
> http://www.bilibili.com/audio/music-service-c/web/member/song
*请求方式GET*
**url参数**
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ------ | ---- | -------- | ------ | ---- |
| sid | num | 音频auID | 必要 | |
**json回复**
根对象:
| 字段 | 类型 | 内容 | 备注 |
| ---- | ------ | ------------ | ------------- |
| code | num | 返回值 | 0成功 |
| msg | str | 错误信息 | 默认为success |
| data | array | 成员类型列表 | 无为空 |
`data`数组:
| 项 | 类型 | 内容 | 备注 |
| ---- | ---- | ------------- | ---- |
| 0 | str | 成员类型1 | |
| n | str | 成员类型(n+1) | |
| …… | str | …… | …… |
`data`数组中的对象:
| 字段 | 类型 | 内容 | 备注 |
| ---- | ------ | ------------ | ------------------------------------------------------------ |
| list | array | 成员列表 | |
| type | num | 成员类型代码 | 1歌手<br />2作词<br />3作曲<br />4编曲<br />5后期/混音<br />7封面制作<br />8音源<br />9调音<br />10演奏<br />11乐器<br />127UP主 |
`data`数组中的对象中的`list`数组:
| 项 | 类型 | 内容 | 备注 |
| ---- | ---- | --------- | ---- |
| 0 | str | 成员1 | |
| n | str | 成员(n+1) | |
| …… | str | …… | …… |
`list`数组中的对象:
| 字段 | 类型 | 内容 | 备注 |
| --------- | ---- | ---------- | ---------------- |
| mid | num | 0 | **作用尚不明确** |
| name | str | 成员名 | |
| member_id | num | 成员ID | **作用尚不明确** |
**示例:**
查询音频`au815861`的创作成员信息
```shell
curl -G 'http://www.bilibili.com/audio/music-service-c/web/member/song'\
--data-urlencode 'sid=815861'
```
```json
{
"code": 0,
"msg": "success",
"data": [
{
"list": [
{
"mid": 0,
"name": "匀子Cyrena",
"member_id": 164341
}
],
"type": 1
},
{
"list": [
{
"mid": 0,
"name": "圣月樱泪 ",
"member_id": 12349
}
],
"type": 2
},
{
"list": [
{
"mid": 0,
"name": "Days的Wing翼",
"member_id": 13777
}
],
"type": 3
},
{
"list": [
{
"mid": 0,
"name": "Days的Wing翼",
"member_id": 13777
}
],
"type": 4
},
{
"list": [
{
"mid": 0,
"name": "嘟比Dubi",
"member_id": 40902
}
],
"type": 5
},
{
"list": [
{
"mid": 0,
"name": "匀子Cyrena",
"member_id": 164222
}
],
"type": 127
}
]
}
```
## 获取歌曲歌词
> http://www.bilibili.com/audio/music-service-c/web/song/lyric
*请求方式GET*
同「查询歌曲基本信息」中的lrc歌词
**url参数**
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ------ | ---- | -------- | ------ | ---- |
| sid | num | 音频auID | 必要 | |
**json回复**
根对象:
| 字段 | 类型 | 内容 | 备注 |
| ---- | ----------------------------- | --------------- | ------------- |
| code | num | 返回值 | 0成功 |
| msg | str | 错误信息 | 默认为success |
| data | 正确时str<br />错误时null | lrc格式歌词信息 | 无为空 |
**示例:**
获取音频`au15664`的歌词信息
```shell
curl -G 'http://www.bilibili.com/audio/music-service-c/web/song/lyric'\
--data-urlencode 'sid=15664'\
-b 'SESSDATA=xxx'
```
```json
{
"code": 0,
"msg": "success",
"data": "[ar:萧忆情]\n\n[ti:威风堂堂]\n\n[00:26.64]引诱谁去摘下禁果\n\n[00:28.11]甜美滋味偷咬一口\n\n[00:30.03]触及到了最深处果核\n\n[00:31.82]身体开始颤抖\n\n[00:33.85]舌尖已濡湿双腿内侧\n\n[00:35.55]神经末梢警报响彻\n\n[00:37.39]自内而外逐渐变得火热\n\n[00:39.14]现在无须再遵守规则\n\n[00:42.14]还故作矜持说违心的话\n\n[00:45.84]为何动作不停下\n\n[00:47.85]停下来\n\n[00:48.39]已经快停不下来\n\n[00:49.42]还想索取更多\n\n[00:50.46]踩碎那PRIDE\n\n[00:51.41]忘记毫无意义的理智存在\n\n[00:53.27]让暧昧因子在四处的徘徊\n\n[00:55.19]给我收起你那\n\n[00:56.21]太虚伪的STYLE\n\n[00:57.01]直白赤裸的爱\n\n[00:58.00]最原始的DIVE\n\n[00:58.86]喘息中断续的声音叫期待\n\n[01:00.65]别掩饰此刻\n\n[01:01.50]那让人意乱情迷的SMILE\n\n[01:10.90]缓慢吐息迷惑双眼的雾\n\n[01:12.49]强制禁锢身下轻舔锁骨\n\n[01:14.23]就让封锁的心渐渐领悟\n\n[01:15.97]别继续装无辜\n\n[01:17.54]开始脱下的衬衫\n\n[01:19.08]最后的纽扣解开它\n\n[01:20.98]快感get\n\n[01:21.85]从此不顾一切\n\n[01:23.32]还在犹豫什么\n\n[01:24.78]Darling\n\n[01:26.54]站在自由世界的正中央\n\n[01:30.09]窥探你幻想的是否太过浪荡\n\n[01:33.99]太难耐\n\n[01:34.41]分分秒秒太难耐\n\n[01:35.61]床笫间的狩猎\n\n[01:36.63]充满野心的TRY\n\n[01:37.66]不承认口头上无理的摊牌\n\n[01:39.58]只想要在身体里深埋\n\n[01:41.34]现在由我掌控\n\n[01:42.36]随心所欲的LIFE\n\n[01:43.40]给你要的未来\n\n[01:44.41]永远不腐坏\n\n[01:45.32]所有的阴暗面统统藏起来\n\n[01:46.70]仅为你一人展现那能骄傲夸耀的MIND\n\n[01:49.90]将不安的情绪碾至粉末\n\n[01:53.14]抹在你胸口印上最鲜艳的红\n\n[02:21.06]别打算缩起来置身之外\n\n[02:22.64]无论何时\n\n[02:23.27]NO TIME\n\n[02:23.58]ALL RIGHT\n\n[02:24.21]打破一切的羞耻值\n\n[02:25.43]哪里奇怪\n\n[02:26.06]哪里奇怪\n\n[02:26.68]哪里奇怪\n\n[02:27.30]BURN BURN BURN\n\n[02:28.22]想要的就是那\n\n[02:29.17]啊 没错\n\n[02:29.87]再给我更多的触摸\n\n[02:31.62]顺位交换贴近肌肤的DANCE\n\n[02:33.34]好吧 肆无忌惮\n\n[02:34.98]停下来\n\n[02:35.35]已经快停不下来\n\n[02:36.50]还想索取更多\n\n[02:37.68]踩碎那PRIDE\n\n[02:38.38]忘记毫无意义的理智存在\n\n[02:40.27]让暧昧因子在四处的徘徊\n\n[02:42.11]给我收起你那\n\n[02:43.16]太虚伪的STYLE\n\n[02:44.00]直白赤裸的爱\n\n[02:45.06]最原始的DIVE\n\n[02:45.90]喘息中断续的声音叫期待\n\n[02:47.76]别掩饰此刻那让人意乱情迷的SMILE\n\n[02:50.64]将不安的情绪碾至粉末\n\n[02:54.09]抹在你胸口印上最鲜艳的红\n\n[02:58.35]抛弃所有只想拥有此刻\n\n"
}
```

281
audio/music_list.md Normal file
View File

@@ -0,0 +1,281 @@
# 歌单&音频收藏夹详细信息
## 查询自己创建的歌单
> http://www.bilibili.com/audio/music-service-c/web/collections/list
*请求方式GET*
认证方式CookieSESSDATA
鉴权方式Cookie中`DedeUserID`存在且不为0
**url参数**
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ------ | ---- | -------- | ------ | ---- |
| pn | num | 页码 | 必要 | |
| ps | num | 每页项数 | 必要 | |
**json回复**
根对象:
| 字段 | 类型 | 内容 | 备注 |
| ---- | ----------------------------- | -------- | ----------------------------------------------------- |
| code | num | 返回值 | 0成功<br />72000000参数错误<br />72010002未登录 |
| msg | str | 错误信息 | 默认为success |
| data | 正确时obj<br />错误时null | 信息本体 | |
`data`对象:
| 字段 | 类型 | 内容 | 备注 |
| --------- | ------ | ------------ | ---- |
| curPage | num | 当前页码 | |
| pageCount | num | 总计页数 | |
| totalSize | num | 总计收藏夹数 | |
| pageSize | num | 当前页面项数 | |
| data | array | 歌单列表 | |
`data`中的`data`数组:
| 项 | 类型 | 内容 | 备注 |
| ---- | ---- | ----------------- | ---- |
| 0 | obj | 音频收藏夹ID1 | |
| n | obj | 音频收藏夹ID(n+1) | |
| …… | obj | …… | …… |
`data`数组中的对象:
| 字段 | 类型 | 内容 | 备注 |
| --------- | ------ | ------------------------ | -------------------------------- |
| id | num | 音频收藏夹ID | |
| uid | num | 创建用户UID | |
| uname | str | 创建用户昵称 | |
| title | str | 歌单标题 | |
| type | num | 收藏夹属性 | 0普通收藏夹<br />1默认收藏夹 |
| published | num | 是否公开 | 0不公开<br />1公开 |
| cover | str | 歌单封面图片url | |
| ctime | num | 歌单创建时间 | 时间戳 |
| song | num | 歌单中的音乐数量 | |
| desc | str | 歌单备注信息 | |
| sids | array | 歌单中的音乐 | |
| menuId | num | 音频收藏夹对应的歌单amID | |
| statistic | obj | 歌单状态数信息 | |
`data`中的`sids`数组:
| 项 | 类型 | 内容 | 备注 |
| ---- | ---- | ------------------- | ---------------- |
| 0 | num | 收藏的音频auID1 | |
| n | num | 收藏的音频auID(n+1) | 按照歌单顺序排列 |
| …… | num | …… | …… |
`data`中的`statistic`对象:
| 字段 | 类型 | 内容 | 备注 |
| ------- | ---- | ------------------------ | ---- |
| sid | num | 音频收藏夹对应的歌单amID | |
| play | num | 播放次数 | |
| collect | num | 点赞次数 | |
| comment | null | - | |
| share | num | 分享次数 | |
**示例:**
```shell
curl -G 'http://www.bilibili.com/audio/music-service-c/web/collections/list'\
--data-urlencode 'ps=2'\
--data-urlencode 'pn=1'\
-b 'SESSDATA=xxx;DedeUserID=1;'
```
共计创建了两个歌单,如下
```json
{
"code": 0,
"msg": "success",
"data": {
"curPage": 1,
"pageCount": 1,
"totalSize": 2,
"pageSize": 2,
"data": [
{
"id": 15967839,
"uid": 293793435,
"uname": "社会易姐QwQ",
"title": "默认歌单",
"type": 1,
"published": 1,
"cover": "http://i0.hdslb.com/bfs/music/1e079693701d2f525850c288fcc48fa4259a73f6.jpg",
"ctime": 1519295502,
"song": 13,
"desc": "",
"sids": [
11673,
276404,
15664,
737904,
108588,
1286999,
658085,
682118,
736952,
48716,
15711,
13598,
57744
],
"menuId": 15958713,
"statistic": {
"sid": 15958713,
"play": 0,
"collect": 0,
"comment": null,
"share": 0
}
},
{
"id": 30894022,
"uid": 293793435,
"uname": "社会易姐QwQ",
"title": "test",
"type": 0,
"published": 1,
"cover": "",
"ctime": 1590154346,
"song": 0,
"desc": "test1",
"sids": [],
"menuId": 30866686,
"statistic": {
"sid": 30866686,
"play": 0,
"collect": 0,
"comment": 0,
"share": 0
}
}
]
}
}
```
## 查询音频收藏夹(默认歌单)信息
> https://www.bilibili.com/audio/music-service-c/web/collections/info
*请求方式GET*
认证方式CookieSESSDATA
鉴权方式Cookie中`DedeUserID`存在且不为0
**url参数**
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ------ | ---- | ------------ | ------ | ------------------ |
| sid | num | 音频收藏夹ID | 必要 | 必须为默认收藏夹ID |
**json回复**
根对象:
| 字段 | 类型 | 内容 | 备注 |
| ---- | ----------------------------- | -------- | ----------------------------------------------------- |
| code | num | 返回值 | 0成功<br />72000000参数错误<br />72010002未登录 |
| msg | str | 错误信息 | 默认为success |
| data | 正确时obj<br />错误时null | 信息本体 | |
`data`对象:
| 字段 | 类型 | 内容 | 备注 |
| --------- | ------ | ------------------------ | ---------------------- |
| id | num | 音频收藏夹ID | |
| uid | num | 创建用户UID | |
| uname | str | 创建用户昵称 | |
| title | str | 默认歌单 | 恒为`默认歌单` |
| type | num | 1 | 恒为`1` |
| published | num | 是否公开 | 0不公开<br />1公开 |
| cover | str | 歌单封面图片url | |
| ctime | num | 歌单创建时间 | 时间戳 |
| song | num | 歌单中的音乐数量 | |
| desc | str | 空 | 恒为空 |
| sids | array | 歌单中的音乐 | |
| menuId | num | 音频收藏夹对应的歌单amID | 与普通歌单不同通用 |
| statistic | obj | 歌单状态数信息 | |
`data`中的`sids`数组:
| 项 | 类型 | 内容 | 备注 |
| ---- | ---- | ------------------- | ---------------- |
| 0 | num | 收藏的音频auID1 | |
| n | num | 收藏的音频auID(n+1) | 按照歌单顺序排列 |
| …… | num | …… | …… |
`data`中的`statistic`对象:
| 字段 | 类型 | 内容 | 备注 |
| ------- | ---- | ------------------------ | ---- |
| sid | num | 音频收藏夹对应的歌单amID | |
| play | num | 0 | |
| collect | num | 0 | |
| comment | null | - | |
| share | num | 0 | |
**示例:**
查询我的默认歌单ID为` 15967839 `
```shell
curl -G 'http://www.bilibili.com/audio/music-service-c/web/collections/info'\
--data-urlencode 'sid=15967839 '\
-b 'SESSDATA=xxx;DedeUserID=1;'
```
```json
{
"code": 0,
"msg": "success",
"data": {
"id": 15967839,
"uid": 293793435,
"uname": "社会易姐QwQ",
"title": "默认歌单",
"type": 1,
"published": 1,
"cover": "http://i0.hdslb.com/bfs/music/1e079693701d2f525850c288fcc48fa4259a73f6.jpg",
"ctime": 1519295502,
"song": 13,
"desc": "",
"sids": [
11673,
276404,
15664,
737904,
108588,
1286999,
658085,
682118,
736952,
48716,
15711,
13598,
57744
],
"menuId": 15958713,
"statistic": {
"sid": 15958713,
"play": 0,
"collect": 0,
"comment": null,
"share": 0
}
}
}
```

266
audio/musicstream_url.md Normal file
View File

@@ -0,0 +1,266 @@
# 音频流URL
<img src="/imgs/download.svg" width="100" height="100"/>
音质`qn`参数:
| 代码 | 含义 |
| ---- | -------------------- |
| 0 | 流畅 128K |
| 1 | 标准 192K |
| 2 | 高品质 320K |
| 3 | 无损 FLAC (大会员) |
## 获取音频流URLweb端
> http://www.bilibili.com/audio/music-service-c/web/url
*请求方式GET*
**注web端无法播放完整付费歌曲付费歌曲为30s试听片段**
本接口仅能获取192K音质的音频
**url参数**
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ------ | ---- | -------- | ------ | ---- |
| sid | num | 音频auID | 必要 | |
**json回复**
根对象:
| 字段 | 类型 | 内容 | 备注 |
| ---- | ---- | -------- | ----------------------------------------------------------- |
| code | num | 返回值 | 0:成功<br />7201006未找到或已下架<br />72000000请求错误 |
| msg | str | 错误信息 | 默认为success |
| data | obj | 数据本体 | |
`data`对象:
| 字段 | 类型 | 内容 | 备注 |
| --------- | ----- | --------- | --------------------------------------- |
| sid | num | 音频auID | |
| type | num | 音质标识 | -1试听片段192K<br />1192K |
| info | str | 空 | **作用尚不明确** |
| timeout | num | 有效时长 | 单位为秒<br />一般为3h |
| size | num | 文件大小 | 单位为字节<br />当`type`为-1时`size`为0 |
| cdns | array | 音频流url | |
| qualities | null | - | |
| title | null | - | |
| cover | null | - | |
`data`对象的`cdns`数组:
| 项 | 类型 | 内容 | 备注 |
| ---- | ---- | ------------- | ---- |
| 0 | str | 音频流url | |
| 1 | str | 备用音频流url | |
**示例:**
```shell
curl -G 'http://www.bilibili.com/audio/music-service-c/web/url'\
--data-urlencode 'sid=sid=15664'
```
```json
{
"code": 0,
"msg": "success",
"data": {
"sid": 15664,
"type": 1,
"info": "",
"timeout": 10800,
"size": 4853263,
"cdns": [
"https://upos-sz-mirrorkodo.bilivideo.com/ugaxcode/7bf6a3a3e94421ccc653f005457b1e8c-192k.m4a?deadline=1595331310&gen=uga&os=kodobv&uparams=deadline,gen,os&upsig=0ecd3c7a8d9539f260239d8fa4c093db",
"https://upos-sz-mirrorks3.bilivideo.com/ugaxcode/7bf6a3a3e94421ccc653f005457b1e8c-192k.m4a?deadline=1595331310&gen=uga&os=ks3bv&uparams=deadline,gen,os&upsig=f3fe53aff56655b1b7264ae4ab65872e"
],
"qualities": null,
"title": null,
"cover": null
}
}
```
## 获取音频流URL可获取付费音频双端
> http://api.bilibili.com/audio/music-service-c/url
*请求方式GET*
认证方式APP或CookieSESSDATA
**注付费音乐需要有带大会员或音乐包的账号登录Cookie或APP否则为试听片段**
无损音质需要登录的用户为会员
**url参数**
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ---------- | ---- | ------------ | ----------- | -------------- |
| access_key | str | APP登录Token | APP方式必要 | |
| songid | num | 音频auID | 必要 | |
| quality | num | 音质代码 | 必要 | **详情见上表** |
| privilege | num | 必须为`2` | 必要 | |
| mid | num | 当前用户UID | 必要 | 可为任意值 |
| platform | str | 平台标识 | 必要 | 可为任意值 |
**json回复**
根对象:
| 字段 | 类型 | 内容 | 备注 |
| ---- | ---- | -------- | ----------------------------------------------------------- |
| code | num | 返回值 | 0:成功<br />7201006未找到或已下架<br />72000000请求错误 |
| msg | str | 错误信息 | 默认为success |
| data | obj | 数据本体 | |
`data`对象:
| 字段 | 类型 | 内容 | 备注 |
| --------- | ----- | ----------- | ------------------------------------------------------------ |
| sid | num | 音频auID | |
| type | num | 音质标识 | -1试听片段192K<br />0128K<br />1192K<br />2320K<br />3FLAC |
| info | str | 空 | **作用尚不明确** |
| timeout | num | 有效时长 | 单位为秒<br />一般为3h |
| size | num | 文件大小 | 单位为字节<br />当`type`为-1时`size`为0 |
| cdns | array | 音频流url | |
| qualities | array | 音质列表 | |
| title | str | 音频标题 | |
| cover | str | 音频封面url | |
`data`对象的`cdns`数组:
| 项 | 类型 | 内容 | 备注 |
| ---- | ---- | ------------- | ---- |
| 0 | str | 音频流url | |
| 1 | str | 备用音频流url | |
`data`对象的`qualities`数组:
| 项 | 类型 | 内容 | 备注 |
| ---- | ---- | ----------- | ---------------- |
| 0 | obj | 音质1 | 音质由高向低顺序 |
| n | obj | 音质n+1 | |
`qualities`数组中的对象:
| 字段 | 类型 | 内容 | 备注 |
| ----------- | ---- | ---------------- | ---------------------- |
| type | num | 音质代码 | **详情见上表** |
| desc | str | 音质名称 | |
| size | num | 该音质的文件大小 | 单位为字节 |
| bps | str | 比特率标签 | |
| tag | str | 音质标签 | |
| require | num | 是否需要会员权限 | 0不需要<br />1需要 |
| requiredesc | str | 会员权限标签 | |
**示例:**
获取音频`au682118`的音频流url音质为`3无损`
Cookie方式
```shell
curl -G 'http://api.bilibili.com/audio/music-service-c/url
--data-urlencode 'songid=682118'\
--data-urlencode 'quality=3'\
--data-urlencode 'privilege=2'\
--data-urlencode 'platform=android'\
--data-urlencode 'mid=293793435'\
-b 'SESSDATA=xxx'
```
APP方式
```shell
curl -G 'http://api.bilibili.com/audio/music-service-c/url
--data-urlencode 'access_key=xxx'\
--data-urlencode 'songid=682118'\
--data-urlencode 'quality=3'\
--data-urlencode 'privilege=2'\
--data-urlencode 'platform=android'\
--data-urlencode 'mid=293793435'
```
```json
{
"code": 0,
"msg": "success",
"data": {
"sid": 682118,
"type": 3,
"info": "",
"timeout": 10800,
"size": 34456494,
"cdns": [
"https://upos-sz-mirrorkodo.bilivideo.com/ugaxcode/m190102ws2pzf6jitbem841vq2x0du5x-flac.flac?deadline=1595332269&gen=uga&os=kodobv&uparams=deadline,gen,os&upsig=ac2284d97a61ef8758681eccf621c56d",
"https://upos-sz-mirrorks3.bilivideo.com/ugaxcode/m190102ws2pzf6jitbem841vq2x0du5x-flac.flac?deadline=1595332269&gen=uga&os=ks3bv&uparams=deadline,gen,os&upsig=3ac7d94dda5664f6f95dbfffeb289744"
],
"qualities": [
{
"type": 3,
"desc": "无损音质",
"size": 34456494,
"bps": "",
"tag": "SQ",
"require": 1,
"requiredesc": "付费享受"
},
{
"type": 2,
"desc": "高品质",
"size": 10788682,
"bps": "320kbit/s",
"tag": "HQ",
"require": 0,
"requiredesc": ""
},
{
"type": 1,
"desc": "标准",
"size": 6491973,
"bps": "192kbit/s",
"tag": "",
"require": 0,
"requiredesc": ""
},
{
"type": 0,
"desc": "流畅",
"size": 4343667,
"bps": "128kbit/s",
"tag": "",
"require": 0,
"requiredesc": ""
}
],
"title": "aLIEz",
"cover": "http://i0.hdslb.com/bfs/music/61d3f8cfdce14d2d1b006af59559c9bd22a2d21b.jpg"
}
}
```
## 音频流的获取
`data`.`cdns`.`[0]``data`.`cdns`.`[1]`中的内容作为url进行GET操作
需要验证请求`user-agent` 不为空
**user-agent错误的情况会返回403 Forbidden**故无法获取**
**以上述音频url为例**
```shell
wget 'https://upos-sz-mirrorkodo.bilivideo.com/ugaxcode/m190102ws2pzf6jitbem841vq2x0du5x-flac.flac?deadline=1595332269&gen=uga&os=kodobv&uparams=deadline,gen,os&upsig=ac2284d97a61ef8758681eccf621c56d'\
-O 'Download_music.flac'
```
响应正文将返回一个flac文件

59
audio/status_number.md Normal file
View File

@@ -0,0 +1,59 @@
# 音频状态数
## 歌曲状态数
>http://www.bilibili.com/audio/music-service-c/web/stat/song
*请求方式GET*
唯缺投币数2333333
**url参数**
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ------ | ---- | -------- | ------ | ---- |
| sid | num | 音频auID | 必要 | |
**json回复**
根对象:
| 字段 | 类型 | 内容 | 备注 |
| ---- | ---- | -------- | ------------------------------- |
| code | num | 返回值 | 0成功<br />72000000参数错误 |
| msg | str | 错误信息 | 默认为success |
| data | obj | 信息本体 | |
`data`对象:
| 字段 | 类型 | 内容 | 备注 |
| ------- | ---- | -------- | ---- |
| sid | num | 音频auID | |
| play | num | 播放次数 | |
| collect | num | 收藏数 | |
| comment | num | 评论数 | |
| share | num | 分享数 | |
**示例:**
查询歌曲`au15664`的状态数
```shell
curl -G 'http://www.bilibili.com/audio/music-service-c/web/stat/song'\
--data-urlencode 'sid=15664'
```
```json
{
"code": 0,
"msg": "success",
"data": {
"sid": 15664,
"play": 1377390,
"collect": 44340,
"comment": 2756,
"share": 4114
}
}
```