XFE Git
XFE Studio Git
Git 首页 全局搜索
XFE 主站 文档 NuGet
公开
关注 0 Fork 0 Star 0
返回提交历史

XFEstudio/bilibili-API-collect

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

cb7185b
SocialSisterYi <45892418+SocialSisterYi@users.noreply.github.com>
提交于

代码差异

12 个文件 +359 -105
Modified README.md +6 -6
@@ -80,12 +80,12 @@
80 80 - [基本信息](article/info.md)×
81 81 - [点赞&投币&收藏](article/like_coin_fav.md)×
82 82 - 文集基本信息
83 - [音频](music)
84 - [歌曲基本信息](music/info.md)√
85 - [歌单&音频收藏夹详细信息](music/music_list.md)×
86 - [状态数](music/status_number.md)×
87 - [投币&收藏](music/coin&fav.md)×
88 - [播放&下载地址(音频流)](music/musicStream_url.md)×
83 - [音频](audio)
84 - [歌曲基本信息](audio/info.md)√
85 - [歌单&音频收藏夹详细信息](audio/music_list.md)×
86 - [状态数](audio/status_number.md)×
87 - [投币&收藏](audio/coin&fav.md)×
88 - [播放&下载地址(音频流)](audio/musicstream_url.md)√
89 89 - 音频榜单
90 90 - [排行榜&最新动态](ranking&dynamic)
91 91 - [排行榜](ranking&dynamic/ranking.md)x
Renamed audio/coin&fav.md +0 -0
此文件没有可显示的逐行差异。
Renamed audio/info.md +0 -0
此文件没有可显示的逐行差异。
Renamed audio/music_list.md +1 -1
@@ -2,7 +2,7 @@
2 2
3 3 ## 查询自己创建的歌单
4 4
5 > https://www.bilibili.com/audio/music-service-c/web/collections/list
5 > http://www.bilibili.com/audio/music-service-c/web/collections/list
6 6
7 7 *请求方式:GET*
8 8
Added audio/musicstream_url.md +266 -0
@@ -0,0 +1,266 @@
1 # 音频流URL
2
3 <img src="/imgs/download.svg" width="100" height="100"/>
4
5 音质`qn`参数:
6
7 | 代码 | 含义 |
8 | ---- | -------------------- |
9 | 0 | 流畅 128K |
10 | 1 | 标准 192K |
11 | 2 | 高品质 320K |
12 | 3 | 无损 FLAC (大会员) |
13
14 ## 获取音频流URL(web端)
15
16 > http://www.bilibili.com/audio/music-service-c/web/url
17
18 *请求方式:GET*
19
20 **注:web端无法播放完整付费歌曲,付费歌曲为30s试听片段**
21
22 本接口仅能获取192K音质的音频
23
24 **url参数:**
25
26 | 参数名 | 类型 | 内容 | 必要性 | 备注 |
27 | ------ | ---- | -------- | ------ | ---- |
28 | sid | num | 音频auID | 必要 | |
29
30 **json回复:**
31
32 根对象:
33
34 | 字段 | 类型 | 内容 | 备注 |
35 | ---- | ---- | -------- | ----------------------------------------------------------- |
36 | code | num | 返回值 | 0:成功<br />7201006:未找到或已下架<br />72000000:请求错误 |
37 | msg | str | 错误信息 | 默认为success |
38 | data | obj | 数据本体 | |
39
40 `data`对象:
41
42 | 字段 | 类型 | 内容 | 备注 |
43 | --------- | ----- | --------- | --------------------------------------- |
44 | sid | num | 音频auID | |
45 | type | num | 音质标识 | -1:试听片段(192K)<br />1:192K |
46 | info | str | 空 | **作用尚不明确** |
47 | timeout | num | 有效时长 | 单位为秒<br />一般为3h |
48 | size | num | 文件大小 | 单位为字节<br />当`type`为-1时`size`为0 |
49 | cdns | array | 音频流url | |
50 | qualities | null | - | |
51 | title | null | - | |
52 | cover | null | - | |
53
54 `data`对象的`cdns`数组:
55
56
57 | 项 | 类型 | 内容 | 备注 |
58 | ---- | ---- | ------------- | ---- |
59 | 0 | str | 音频流url | |
60 | 1 | str | 备用音频流url | |
61
62 **示例:**
63
64 ```shell
65 curl -G 'http://www.bilibili.com/audio/music-service-c/web/url'\
66 --data-urlencode 'sid=sid=15664'
67 ```
68
69 ```json
70 {
71 "code": 0,
72 "msg": "success",
73 "data": {
74 "sid": 15664,
75 "type": 1,
76 "info": "",
77 "timeout": 10800,
78 "size": 4853263,
79 "cdns": [
80 "https://upos-sz-mirrorkodo.bilivideo.com/ugaxcode/7bf6a3a3e94421ccc653f005457b1e8c-192k.m4a?deadline=1595331310&gen=uga&os=kodobv&uparams=deadline,gen,os&upsig=0ecd3c7a8d9539f260239d8fa4c093db",
81 "https://upos-sz-mirrorks3.bilivideo.com/ugaxcode/7bf6a3a3e94421ccc653f005457b1e8c-192k.m4a?deadline=1595331310&gen=uga&os=ks3bv&uparams=deadline,gen,os&upsig=f3fe53aff56655b1b7264ae4ab65872e"
82 ],
83 "qualities": null,
84 "title": null,
85 "cover": null
86 }
87 }
88 ```
89
90 ## 获取音频流URL(可获取付费音频)(双端)
91
92 > http://api.bilibili.com/audio/music-service-c/url
93
94 *请求方式:GET*
95
96 认证方式:APP或Cookie(SESSDATA)
97
98 **注:付费音乐需要有带大会员或音乐包的账号登录(Cookie或APP),否则为试听片段**
99
100 无损音质需要登录的用户为会员
101
102 **url参数:**
103
104 | 参数名 | 类型 | 内容 | 必要性 | 备注 |
105 | ---------- | ---- | ------------ | ----------- | -------------- |
106 | access_key | str | APP登录Token | APP方式必要 | |
107 | songid | num | 音频auID | 必要 | |
108 | quality | num | 音质代码 | 必要 | **详情见上表** |
109 | privilege | num | 必须为`2` | 必要 | |
110 | mid | num | 当前用户UID | 必要 | 可为任意值 |
111 | platform | str | 平台标识 | 必要 | 可为任意值 |
112
113 **json回复:**
114
115 根对象:
116
117 | 字段 | 类型 | 内容 | 备注 |
118 | ---- | ---- | -------- | ----------------------------------------------------------- |
119 | code | num | 返回值 | 0:成功<br />7201006:未找到或已下架<br />72000000:请求错误 |
120 | msg | str | 错误信息 | 默认为success |
121 | data | obj | 数据本体 | |
122
123 `data`对象:
124
125 | 字段 | 类型 | 内容 | 备注 |
126 | --------- | ----- | ----------- | ------------------------------------------------------------ |
127 | sid | num | 音频auID | |
128 | type | num | 音质标识 | -1:试听片段(192K)<br />0:128K<br />1:192K<br />2:320K<br />3:FLAC |
129 | info | str | 空 | **作用尚不明确** |
130 | timeout | num | 有效时长 | 单位为秒<br />一般为3h |
131 | size | num | 文件大小 | 单位为字节<br />当`type`为-1时`size`为0 |
132 | cdns | array | 音频流url | |
133 | qualities | array | 音质列表 | |
134 | title | str | 音频标题 | |
135 | cover | str | 音频封面url | |
136
137 `data`对象的`cdns`数组:
138
139
140 | 项 | 类型 | 内容 | 备注 |
141 | ---- | ---- | ------------- | ---- |
142 | 0 | str | 音频流url | |
143 | 1 | str | 备用音频流url | |
144
145 `data`对象的`qualities`数组:
146
147
148 | 项 | 类型 | 内容 | 备注 |
149 | ---- | ---- | ----------- | ---------------- |
150 | 0 | obj | 音质1 | 音质由高向低顺序 |
151 | n | obj | 音质(n+1) | |
152
153 `qualities`数组中的对象:
154
155 | 字段 | 类型 | 内容 | 备注 |
156 | ----------- | ---- | ---------------- | ---------------------- |
157 | type | num | 音质代码 | **详情见上表** |
158 | desc | str | 音质名称 | |
159 | size | num | 该音质的文件大小 | 单位为字节 |
160 | bps | str | 比特率标签 | |
161 | tag | str | 音质标签 | |
162 | require | num | 是否需要会员权限 | 0:不需要<br />1:需要 |
163 | requiredesc | str | 会员权限标签 | |
164
165 **示例:**
166
167 获取音频`au682118`的音频流url,音质为`3(无损)`
168
169 Cookie方式:
170
171 ```shell
172 curl -G 'http://api.bilibili.com/audio/music-service-c/url
173 --data-urlencode 'songid=682118'\
174 --data-urlencode 'quality=3'\
175 --data-urlencode 'privilege=2'\
176 --data-urlencode 'platform=android'\
177 --data-urlencode 'mid=293793435'\
178 -b 'SESSDATA=xxx'
179 ```
180
181 APP方式:
182
183 ```shell
184 curl -G 'http://api.bilibili.com/audio/music-service-c/url
185 --data-urlencode 'access_key=xxx'\
186 --data-urlencode 'songid=682118'\
187 --data-urlencode 'quality=3'\
188 --data-urlencode 'privilege=2'\
189 --data-urlencode 'platform=android'\
190 --data-urlencode 'mid=293793435'
191 ```
192
193 ```json
194 {
195 "code": 0,
196 "msg": "success",
197 "data": {
198 "sid": 682118,
199 "type": 3,
200 "info": "",
201 "timeout": 10800,
202 "size": 34456494,
203 "cdns": [
204 "https://upos-sz-mirrorkodo.bilivideo.com/ugaxcode/m190102ws2pzf6jitbem841vq2x0du5x-flac.flac?deadline=1595332269&gen=uga&os=kodobv&uparams=deadline,gen,os&upsig=ac2284d97a61ef8758681eccf621c56d",
205 "https://upos-sz-mirrorks3.bilivideo.com/ugaxcode/m190102ws2pzf6jitbem841vq2x0du5x-flac.flac?deadline=1595332269&gen=uga&os=ks3bv&uparams=deadline,gen,os&upsig=3ac7d94dda5664f6f95dbfffeb289744"
206 ],
207 "qualities": [
208 {
209 "type": 3,
210 "desc": "无损音质",
211 "size": 34456494,
212 "bps": "",
213 "tag": "SQ",
214 "require": 1,
215 "requiredesc": "付费享受"
216 },
217 {
218 "type": 2,
219 "desc": "高品质",
220 "size": 10788682,
221 "bps": "320kbit/s",
222 "tag": "HQ",
223 "require": 0,
224 "requiredesc": ""
225 },
226 {
227 "type": 1,
228 "desc": "标准",
229 "size": 6491973,
230 "bps": "192kbit/s",
231 "tag": "",
232 "require": 0,
233 "requiredesc": ""
234 },
235 {
236 "type": 0,
237 "desc": "流畅",
238 "size": 4343667,
239 "bps": "128kbit/s",
240 "tag": "",
241 "require": 0,
242 "requiredesc": ""
243 }
244 ],
245 "title": "aLIEz",
246 "cover": "http://i0.hdslb.com/bfs/music/61d3f8cfdce14d2d1b006af59559c9bd22a2d21b.jpg"
247 }
248 }
249 ```
250
251 ## 音频流的获取
252
253 将`data`.`cdns`.`[0]`或`data`.`cdns`.`[1]`中的内容作为url进行GET操作
254
255 需要验证请求`user-agent` 不为空
256
257 **user-agent错误的情况会返回403 Forbidden**故无法获取**
258
259 **以上述音频url为例:**
260
261 ```shell
262 wget 'https://upos-sz-mirrorkodo.bilivideo.com/ugaxcode/m190102ws2pzf6jitbem841vq2x0du5x-flac.flac?deadline=1595332269&gen=uga&os=kodobv&uparams=deadline,gen,os&upsig=ac2284d97a61ef8758681eccf621c56d'\
263 -O 'Download_music.flac'
264 ```
265
266 响应正文将返回一个flac文件
Renamed audio/status_number.md +0 -0
此文件没有可显示的逐行差异。
Modified cheese/videostream_url.md +17 -8
@@ -2,17 +2,26 @@
2 2
3 3 <img src="/imgs/download.svg" width="100" height="100"/>
4 4
5 ## 获取课程视频流URL
5 ## 获取课程视频流URL(web端)
6 6
7 7 > http://api.bilibili.com/pugv/player/web/playurl
8 8
9 *请求方式:GET*
9 *请求方式:GET*
10 10
11 本接口为课程视频专用,故与普通视频不互通
11 认证方式:Cookie(SESSDATA)
12 12
13 获取非试看课程视频及720P以上清晰度视频时需要登录(SESSDATA)购买的课程也需要使用登录进行鉴权
13 **注:本接口为课程视频专用,故与普通视频不互通**
14 14
15 高帧率(码率)视频需要带有大会员的账号token(SESSDATA)
15 ---
16
17 关于视频流会员鉴权:
18
19 - 获取720P及以上清晰度视频时需要登录(Cookie)
20
21 - 获取高帧率(1080P60)/高码率(1080P+)视频时需要有大会员的账号登录(Cookie)
22 - 获取正式课程视频(非试看)时需要有已经购买的账号登录(Cookie)
23
24 ---
16 25
17 26 获取的url有效时间为120min,超时失效需要重新获取
18 27
@@ -95,7 +104,7 @@
95 104 | length | num | 视频长度 | 单位为毫秒 |
96 105 | vhead | str | 空 | 作用尚不明确 |
97 106 | backup_url | array | 备用视频流 | |
98 | url | str | 视频流url | **重要**<br />链接有效时间为120min |
107 | url | str | 视频流url | 链接有效时间为120min |
99 108 | order | num | 视频分段序号 | 某些视频会分为多个片段 |
100 109
101 110 `durl`数组中的对象中的`backup_url`数组:
@@ -236,9 +245,9 @@ curl -G 'http://api.bilibili.com/pugv/player/web/playurl'\
236 245
237 246 将`data`.`durl`.`[1-n]`.`url`或`data`.`durl`.`[1-n]`.`backup_url`.`[0]`中的内容作为url进行GET操作, 如果有多个视频, 需要手动合并处理
238 247
239 需要验证请求Header中`referer`为 `.bilibili.com`域名下(防盗链)
248 需要验证请求`referer`为 `.bilibili.com`域名下(防盗链),且`user-agent` 不为空
240 249
241 **无referer或错误的情况会返回403 Forbidden**故无法获取
250 **referer或user-agent错误的情况会返回403 Forbidden**故无法获取
242 251
243 252 **以上述视频url为例:**
244 253
Modified creativecenter/railgun.md +35 -9
@@ -4,13 +4,13 @@
4 4
5 5 电磁力每周日下午刷新
6 6
7 ## 获取电磁力等级
7 ## 获取电磁力等级(web端)
8 8
9 9 > http://member.bilibili.com/x/web/elec/user
10 10
11 11 *请求方式:GET*
12 12
13 认证方式:Cookie(SESSDATA)
13 认证方式:仅可Cookie(SESSDATA)
14 14
15 15 **json回复:**
16 16
@@ -51,13 +51,19 @@ curl 'http://member.bilibili.com/x/web/elec/user'\
51 51 }
52 52 ```
53 53
54 ## 获取电磁力详细数值
54 ## 获取电磁力详细数值(双端)
55 55
56 56 > http://api.bilibili.com/studio/up-rating/rating/summary
57 57
58 58 *请求方式:GET*
59 59
60 认证方式:Cookie(SESSDATA)
60 认证方式:Cookie(SESSDATA)或APP
61
62 **url参数:**
63
64 | 参数名 | 类型 | 内容 | 必要性 | 备注 |
65 | ---------- | ---- | ------------ | ----------- | ---- |
66 | access_key | str | APP登录Token | APP方式必要 | |
61 67
62 68 **json回复:**
63 69
@@ -91,11 +97,20 @@ curl 'http://member.bilibili.com/x/web/elec/user'\
91 97
92 98 **示例:**
93 99
100 Cookie方式:
101
94 102 ```shell
95 103 curl 'http://api.bilibili.com/studio/up-rating/rating/summary'\
96 104 -b 'SESSDATA=xxx'
97 105 ```
98 106
107 APP方式:
108
109 ```shell
110 curl -G 'http://api.bilibili.com/studio/up-rating/rating/summary'\
111 --data-urlencode 'access_key=xxx'
112 ```
113
99 114 ```json
100 115 {
101 116 "code": 0,
@@ -131,19 +146,20 @@ curl 'http://api.bilibili.com/studio/up-rating/rating/summary'\
131 146 }
132 147 ```
133 148
134 ## 获取电磁力数值历史变化
149 ## 获取电磁力数值历史变化(双端)
135 150
136 151 > http://api.bilibili.com/studio/up-rating/rating/history
137 152
138 153 *请求方式:GET*
139 154
140 认证方式:Cookie(SESSDATA)
155 认证方式:Cookie(SESSDATA)或APP
141 156
142 157 **url参数:**
143 158
144 | 参数名 | 类型 | 内容 | 必要性 | 备注 |
145 | ------ | ---- | ------------ | ------ | -------------- |
146 | type | num | 目标数据类型 | 必要 | 类型代码见下表 |
159 | 参数名 | 类型 | 内容 | 必要性 | 备注 |
160 | ---------- | ---- | ------------ | ----------- | -------------- |
161 | access_key | str | APP登录Token | APP方式必要 | |
162 | type | num | 目标数据类型 | 必要 | 类型代码见下表 |
147 163
148 164 类型代码`type`:
149 165
@@ -193,12 +209,22 @@ curl 'http://api.bilibili.com/studio/up-rating/rating/summary'\
193 209
194 210 查询创作力的历史变化
195 211
212 Cookie方式:
213
196 214 ```shell
197 215 curl -G 'http://api.bilibili.com/studio/up-rating/rating/history'\
198 216 --data-urlencode 'type=1'\
199 217 -b 'SESSDATA=xxx'
200 218 ```
201 219
220 APP方式:
221
222 ```shell
223 curl -G 'http://api.bilibili.com/studio/up-rating/rating/history'\
224 --data-urlencode 'type=1'\
225 --data-urlencode 'access_key=xxx'
226 ```
227
202 228 ```json
203 229 {
204 230 "code": 0,
Modified creativecenter/statistics&data.md +7 -7
@@ -10,7 +10,7 @@
10 10
11 11 *请求方式:GET*
12 12
13 认证方式:Cookie(SESSDATA)
13 认证方式:仅可Cookie(SESSDATA)
14 14
15 15 **json回复:**
16 16
@@ -165,7 +165,7 @@ curl 'http://member.bilibili.com/x/web/index/stat'\
165 165
166 166 *请求方式:GET*
167 167
168 认证方式:Cookie(SESSDATA)
168 认证方式:仅可Cookie(SESSDATA)
169 169
170 170 **json回复:**
171 171
@@ -230,7 +230,7 @@ curl 'http://member.bilibili.com/x/web/data/article'\
230 230
231 231 *请求方式:GET*
232 232
233 认证方式:Cookie(SESSDATA)
233 认证方式:仅可Cookie(SESSDATA)
234 234
235 235 数据为前30天
236 236
@@ -325,7 +325,7 @@ curl -G 'http://member.bilibili.com/x/web/data/pandect'\
325 325
326 326 *请求方式:GET*
327 327
328 认证方式:Cookie(SESSDATA)
328 认证方式:仅可Cookie(SESSDATA)
329 329
330 330 数据为前30天
331 331
@@ -415,7 +415,7 @@ curl -G 'http://member.bilibili.com/x/web/data/article/thirty'\
415 415
416 416 *请求方式:GET*
417 417
418 认证方式:Cookie(SESSDATA)
418 认证方式:仅可Cookie(SESSDATA)
419 419
420 420 数据为上一天的
421 421
@@ -551,7 +551,7 @@ curl -G 'http://member.bilibili.com/x/web/data/survey'\
551 551
552 552 *请求方式:GET*
553 553
554 认证方式:Cookie(SESSDATA)
554 认证方式:仅可Cookie(SESSDATA)
555 555
556 556 **json回复:**
557 557
@@ -630,7 +630,7 @@ curl 'http://member.bilibili.com/x/web/data/playsource'\
630 630
631 631 *请求方式:GET*
632 632
633 认证方式:Cookie(SESSDATA)
633 认证方式:仅可Cookie(SESSDATA)
634 634
635 635 **json回复:**
636 636
Deleted music/musicStream_url.md +0 -57
@@ -1,57 +0,0 @@
1 # 音频流URL
2
3 <img src="/imgs/download.svg" width="100" height="100"/>
4
5 ## 获取音频流URL
6
7 > http://www.bilibili.com/audio/music-service-c/web/url
8
9 *请求方式:GET*
10
11 __\*Web版无法播放付费歌曲!__
12
13 **url参数:**
14
15 | 参数名 | 类型 | 内容 | 必要性 | 备注 |
16 | ------- | ---- | ------ | ----- | -------------- |
17 |sid |num |音频auID |必要 |不需要au前缀 |
18 |privilege|num |一般为2| 非必要 |**作用尚不明确**|
19 |quality |num |一般为2| 非必要 |**作用尚不明确**|
20
21 _只测试了`quality`在\[-2,10\]范围内没法调整 音频品质_
22
23 **json回复:**
24
25 根对象:
26
27 |字段|类型| 内容 | 备注 |
28 |----|---|-------------|-----------------------------------------|
29 |code|num| 返回值 | 0:成功<br>7201006:未找到或已下架 |
30 |msg |str|对`code`的描述|"success"<br>"收听出错,音频未找到或已下架"|
31 |data|obj| 数据本体 |当`code`为7201006时不存在 |
32
33 `data`对象:
34
35 |字段 |类型 |内容 |备注 |
36 |---------|--------|---------|--------------------------------|
37 |cover |nul |空 |**作用尚不明确** |
38 |info |str |空字符串 |**作用尚不明确** |
39 |qualities|nul |空 |**作用尚不明确** |
40 |sid |num |音频auID | |
41 |size |num |文件大小 |单位:字节,当`type`为-1时`size`为0|
42 |timeout |num |有效时长 |一般为三个小时 |
43 |title |nul |空 |**作用尚不明确** |
44 |type |num |音频版权 |1为正常<br>-1为付费 |
45 |cdns |array |音频url | |
46
47 `data`对象的`cdns`数组:
48
49
50 | 项 | 类型 | 内容 | 备注 |
51 |------|-----|-------------------|---------------------------------------------------------------------------------|
52 | 0 | str | 音频url |当`data`对象`type`为1时可以获得完整版<br>当`data`对象`type`为-1时可以获得30秒试听版本|
53 | 1 | str | 音频url(备用) | |
54
55 **发送音频url请求时需要 `user-agent`值不为空** 否则会失败
56
57 默认为192Kbps(标准)品质
Modified video/tags.md +7 -5
@@ -6,6 +6,8 @@
6 6
7 7 *请求方式:GET*
8 8
9 认证方式:Cookie(SESSDATA)
10
9 11 **url参数:**
10 12
11 13 | 参数名 | 类型 | 内容 | 必要性 | 备注 |
@@ -46,12 +48,12 @@
46 48 | state | num | 0 | |
47 49 | ctime | num | 创建时间 | 时间戳 |
48 50 | count | obj | 状态数 | |
49 | is_atten | num | 是否关注 | 0:未关注<br />1:已关注<br />需要登录(SESSDATA) <br />未登录为0 |
51 | is_atten | num | 是否关注 | 0:未关注<br />1:已关注<br />需要登录(Cookie) <br />未登录为0 |
50 52 | likes | num | 0 | 作用尚不明确 |
51 53 | hates | num | 0 | 作用尚不明确 |
52 54 | attribute | num | 0 | 作用尚不明确 |
53 | liked | num | 是否已经点赞 | 0:未点赞<br />1:已点赞<br />需要登录(SESSDATA) <br />未登录为0 |
54 | hated | num | 是否已经点踩 | 0:未点踩<br />1:已点踩<br />需要登录(SESSDATA) <br />未登录为0 |
55 | liked | num | 是否已经点赞 | 0:未点赞<br />1:已点赞<br />需要登录(Cookie) <br />未登录为0 |
56 | hated | num | 是否已经点踩 | 0:未点踩<br />1:已点踩<br />需要登录(Cookie) <br />未登录为0 |
55 57
56 58 `data`数组中的对象中的`count`对象:
57 59
@@ -201,7 +203,7 @@ curl -G 'http://api.bilibili.com/x/tag/archive/tags'\
201 203
202 204 *请求方式:POST*
203 205
204 需要登录(SESSDATA)
206 认证方式:Cookie(SESSDATA)
205 207
206 208 重复请求为取消
207 209
@@ -249,7 +251,7 @@ curl 'http://api.bilibili.com/x/tag/archive/like2'\
249 251
250 252 *请求方式:POST*
251 253
252 需要登录(SESSDATA)
254 认证方式:Cookie(SESSDATA)
253 255
254 256 重复访问为取消
255 257
Modified video/videostream_url.md +20 -12
@@ -2,15 +2,25 @@
2 2
3 3 <img src="/imgs/download.svg" width="100" height="100"/>
4 4
5 ## 获取视频流URL
5 ## 获取视频流URL(web端)
6 6
7 7 > http://api.bilibili.com/x/player/playurl
8 8
9 9 *请求方式:GET*
10 10
11 获取会员专属视频及720P以上清晰度视频时需要登录(SESSDATA)
11 认证方式:Cookie(SESSDATA)
12 12
13 会员专属及高帧率(码率)视频需要带有大会员的账号token(SESSDATA)
13 ---
14
15 关于视频流会员鉴权:
16
17 - 获取720P及以上清晰度视频时需要登录(Cookie)
18
19 - 获取高帧率(1080P60)/高码率(1080P+)视频时需要有大会员的账号登录(Cookie)
20
21 - 获取会员专属视频时需要登录(Cookie)
22
23 ---
14 24
15 25 获取的url有效时间为120min,超时失效需要重新获取
16 26
@@ -103,14 +113,14 @@
103 113 | size | num | 视频大小 | 单位为Byte |
104 114 | ahead | str | 空 | 作用尚不明确 |
105 115 | vhead | str | 空 | 作用尚不明确 |
106 | url | str | 视频流url | **重要**<br />链接有效时间为120min |
116 | url | str | 视频流url | **注:url内容存在转义符**<br />链接有效时间为120min |
107 117 | backup_url | array | 备用视频流 | |
108 118
109 119 `durl`数组中的对象中的`backup_url`数组:
110 120
111 | 项 | 类型 | 内容 | 备注 |
112 | ---- | ---- | ------------- | ---------------- |
113 | 0 | str | 备用视频流url | 有效时间为120min |
121 | 项 | 类型 | 内容 | 备注 |
122 | ---- | ---- | ------------- | ----------------------------------------------- |
123 | 0 | str | 备用视频流url | **注:url内容存在转义符**<br />有效时间为120min |
114 124
115 125 **示例:**
116 126
@@ -267,13 +277,11 @@ curl -G 'http://api.bilibili.com/x/player/playurl'\
267 277
268 278 ## 视频的获取
269 279
270 将`data`.`durl`.`[1-n]`.`url`或`data`.`durl`.`[1-n]`.`backup_url`.`[0]`中的内容作为url进行GET操作, 如果有多个视频, 需要手动合并处理
271
272 需要验证请求Header中`referer`为 `.bilibili.com`域名下(防盗链)
280 将`data`.`durl`.`[1-n]`.`url`或`data`.`durl`.`[1-n]`.`backup_url`.`[0]`中的内容作为url进行GET操作, 如果有多个视频, 需要手动合并处理(注意转义符)
273 281
274 且`user-agent` 不为空 (否则会403)
282 需要验证请求`referer`为 `.bilibili.com`域名下(防盗链),且`user-agent` 不为空
275 283
276 **无referer或错误的情况会返回403 Forbidden**故无法获取
284 **referer或user-agent错误的情况会返回403 Forbidden**故无法获取
277 285
278 286 **以上述视频url为例:**
279 287