From 79241de6e8b6c6ffbb990f2a16bdd2543187b4a4 Mon Sep 17 00:00:00 2001
From: SocialSisterYi <45892418+SocialSisterYi@users.noreply.github.com>
Date: Sat, 16 May 2020 00:34:06 +0800
Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=85=85=E7=94=B5=E5=88=97?=
=?UTF-8?q?=E8=A1=A8=E4=B8=8E=E8=A7=86=E9=A2=91=E6=B5=81=E5=9C=B0=E5=9D=80?=
=?UTF-8?q?=E7=9A=84api?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
README.md | 3 +-
electric/charge_list.md | 346 +++++++++++++++++++++++++++++++++
history&toview/play_history.md | 2 +
history&toview/toview.md | 2 +
imgs/history.png | Bin 0 -> 2400 bytes
imgs/toview.png | Bin 0 -> 724 bytes
user/check_nickname.md | 66 +++++--
video/videostream_url.md | 256 ++++++++++++++++++++++++
8 files changed, 657 insertions(+), 18 deletions(-)
create mode 100644 electric/charge_list.md
create mode 100644 imgs/history.png
create mode 100644 imgs/toview.png
create mode 100644 video/videostream_url.md
diff --git a/README.md b/README.md
index 462d694..86bbef0 100644
--- a/README.md
+++ b/README.md
@@ -38,7 +38,7 @@
- [点赞&投币&收藏](video/like_coin_fav.md)√
- [TAG](video/tags.md)x
- [视频推荐](video/recommend.md)√
- - 播放&下载地址
+ - [播放&下载地址(视频流)](video/videostream_url.md)√
- 互动视频
- [高能进度条](video/pbp.md)√
- 番剧(影视)
@@ -84,6 +84,7 @@
- [B币方式](electric/Bcoin.md)√
- [微信&支付宝方式](electric/WeChat&Alipay.md)√
- [充电留言](electric/charge_msg.md)√
+ - [充电列表](electric/charge_list.md)√
- [动态](dynamic)
- [发送&转载动态](dynamic/publish.md)x
- 动态列表
diff --git a/electric/charge_list.md b/electric/charge_list.md
new file mode 100644
index 0000000..a2735b9
--- /dev/null
+++ b/electric/charge_list.md
@@ -0,0 +1,346 @@
+# 充电列表
+
+## 获取充电公示列表
+
+> http://elec.bilibili.com/api/query.rank.do
+
+*方式:GET*
+
+**参数:**
+
+| 参数名 | 类型 | 内容 | 必要性 | 备注 |
+| ------ | ---- | ----------- | ------ | ---- |
+| mid | url | 目标用户UID | 必要 | |
+
+**json回复:**
+
+根对象:
+
+| 字段 | 类型 | 内容 | 备注 |
+| ---- | ---- | -------- | ----------------------------- |
+| code | num | 返回值 | 0:成功
500011:UID错误 |
+| msg | str | 错误信息 | 正确时无此项 |
+| data | obj | 数据本体 | |
+
+`data`对象:
+
+| 字段 | 类型 | 内容 | 备注 |
+| ----------- | ------ | ---------------- | ------------ |
+| display_num | num | 0 | 作用尚不明确 |
+| count | num | 本月充电人数 | |
+| total_count | num | 总计充电人数 | |
+| list | arrary | 本月充电用户列表 | |
+| user | null | | 作用尚不明确 |
+
+`data`中的`list`数组:
+
+| 项 | 类型 | 内容 | 备注 |
+| ---- | ---- | ------------- | ---------------- |
+| 0 | obj | 充电用户1 | |
+| n | obj | 充电用户(n+1) | 按照充电排名排列 |
+| …… | obj | …… | …… |
+| 29 | obj | 充电用户30 | 最后一项 |
+
+`data`中的`list`数组中的对象:
+
+| 字段 | 类型 | 内容 | 备注 |
+| ----------- | ---- | ---------------- | ---------------- |
+| mid | num | 充电对象UID | |
+| pay_mid | num | 充电用户UID | |
+| rank | num | 充电用户排名 | 取决于充电的多少 |
+| uname | str | 充电用户昵称 | |
+| avatar | str | 充电用户头像url | |
+| message | str | 充电留言 | 无为空 |
+| msg_deleted | num | 0 | 作用尚不明确 |
+| vip_info | obj | 充电用户会员信息 | |
+| trend_type | num | 0 | 作用尚不明确 |
+
+`data`中的`list`数组中的对象中的`vip_info`对象:
+
+| 字段 | 类型 | 内容 | 备注 |
+| ---------- | ---- | ---------- | ----------------------------------- |
+| vipType | num | 大会员类型 | 0:无
1:月会员
2:年会员 |
+| vipDueMsec | num | 0 | 作用尚不明确 |
+| vipStatus | num | 大会员状态 | 0:无
1:有 |
+
+**示例:**
+
+查询用户`UID=53456`的充电公示列表
+
+ http://elec.bilibili.com/api/query.rank.do?mid=53456
+
+```json
+{
+ "code": 0,
+ "data": {
+ "display_num": 0,
+ "count": 226,
+ "total_count": 11528,
+ "list": [
+ {
+ "mid": 53456,
+ "pay_mid": 346545025,
+ "rank": 1,
+ "uname": "还有什么名字没人用",
+ "avatar": "http://i1.hdslb.com/bfs/face/76d4b1ecd13e992a6c7303d77bf716dd922ab234.jpg",
+ "message": "早日康复,五月快乐",
+ "msg_deleted": 0,
+ "vip_info": {
+ "vipType": 2,
+ "vipDueMsec": 0,
+ "vipStatus": 1
+ },
+ "trend_type": 0
+ },
+ {
+ "mid": 53456,
+ "pay_mid": 8826056,
+ "rank": 2,
+ "uname": "煋痕",
+ "avatar": "http://i2.hdslb.com/bfs/face/35b7c752d0eb1bb7a924804f240b9bfd9199625f.jpg",
+ "message": "",
+ "msg_deleted": 0,
+ "vip_info": {
+ "vipType": 2,
+ "vipDueMsec": 0,
+ "vipStatus": 1
+ },
+ "trend_type": 0
+ },
+ {
+ "mid": 53456,
+ "pay_mid": 356668487,
+ "rank": 3,
+ "uname": "舞象祥",
+ "avatar": "http://i1.hdslb.com/bfs/face/574f6203ef5bd0d56b95ded6a2736676d9cc5307.jpg",
+ "message": "warma hayo",
+ "msg_deleted": 0,
+ "vip_info": {
+ "vipType": 1,
+ "vipDueMsec": 0,
+ "vipStatus": 1
+ },
+ "trend_type": 0
+ },
+ …………
+ ],
+ "user": null
+ }
+}
+```
+
+
+
+## 获取视频充电鸣谢名单
+
+> http://api.bilibili.com/x/web-interface/elec/show
+
+*方式:GET*
+
+**参数:**
+
+| 参数名 | 类型 | 内容 | 必要性 | 备注 |
+| ------ | ---- | ------------ | ------ | ------------------ |
+| mid | url | 目标用户UID | 必要 | |
+| aid | url | 目标视频avID | 非必要 | avID与bvID任选一个 |
+| bvid | url | 目标视频bvID | 非必要 | avID与bvID任选一个 |
+
+**json回复:**
+
+根对象:
+
+| 字段 | 类型 | 内容 | 备注 |
+| ------- | ---- | -------- | ------------------------------------------------------------ |
+| code | num | 返回值 | 0:成功
-400:请求错误
-404:无视频
62001:不需要展示充电信息 |
+| message | str | 错误信息 | 默认为0 |
+| ttl | num | 1 | 作用尚不明确 |
+| data | obj | 信息本体 | |
+
+`data`对象:
+
+| 字段 | 类型 | 内容 | 备注 |
+| ----------- | ------ | ---------------- | ------------ |
+| show_info | obj | 展示选项 | |
+| av_count | num | 目标视频充电人数 | |
+| count | num | 本月充电人数 | |
+| total_count | num | 总计充电人数 | |
+| special_day | num | 0 | 作用尚不明确 |
+| display_num | num | 0 | 作用尚不明确 |
+| av_list | arrary | 目标视频充电列表 | |
+| list | arrary | 本月充电用户列表 | |
+
+`data`中的`show_info`对象:
+
+| 字段 | 类型 | 内容 | 备注 |
+| ----- | ---- | ------------------------ | ----------------------------- |
+| show | bool | 是否展示视频充电鸣谢名单 | false:不展示
true:展示 |
+| state | num | 0 | |
+
+`data`中的`list`数组(`av_list`数组):
+
+| 项 | 类型 | 内容 | 备注 |
+| ---- | ---- | ------------- | ---------------- |
+| 0 | obj | 充电用户1 | |
+| n | obj | 充电用户(n+1) | 按照充电排名排列 |
+| …… | obj | …… | …… |
+| 29 | obj | 充电用户30 | 最后一项 |
+
+`data`中的`list`数组(`av_list`数组)中的对象:
+
+| 字段 | 类型 | 内容 | 备注 |
+| ----------- | ---- | ---------------- | ---------------- |
+| mid | num | 充电对象UID | |
+| pay_mid | num | 充电用户UID | |
+| rank | num | 充电用户排名 | 取决于充电的多少 |
+| uname | str | 充电用户昵称 | |
+| avatar | str | 充电用户头像url | |
+| message | str | 充电留言 | 无为空 |
+| msg_deleted | num | 0 | 作用尚不明确 |
+| vip_info | obj | 充电用户会员信息 | |
+| trend_type | num | 0 | 作用尚不明确 |
+
+`data`中的`list`数组(`av_list`数组)中的对象中的`vip_info`对象:
+
+| 字段 | 类型 | 内容 | 备注 |
+| ---------- | ---- | ---------- | ----------------------------------- |
+| vipType | num | 大会员类型 | 0:无
1:月会员
2:年会员 |
+| vipDueMsec | num | 0 | 作用尚不明确 |
+| vipStatus | num | 大会员状态 | 0:无
1:有 |
+
+**示例:**
+
+获取视频`av967773538`/` BV1up4y1y77i `,用户`UID=53456`的视频充电鸣谢名单
+
+ http://api.bilibili.com/x/web-interface/elec/show?aid=967773538&mid=53456
+
+同 http://api.bilibili.com/x/web-interface/elec/show?mid=53456&bvid=BV1up4y1y77i
+
+```json
+{
+ "code": 0,
+ "message": "0",
+ "ttl": 1,
+ "data": {
+ "show_info": {
+ "show": true,
+ "state": 0
+ },
+ "av_count": 4,
+ "count": 226,
+ "total_count": 11528,
+ "special_day": 0,
+ "display_num": 0,
+ "av_list": [
+ {
+ "mid": 53456,
+ "pay_mid": 326994943,
+ "rank": 1,
+ "uname": "此人不在线hhh",
+ "avatar": "http://i0.hdslb.com/bfs/face/d2540c20f569554e62dd88cc78cbf2fe07268903.jpg",
+ "message": "",
+ "msg_deleted": 0,
+ "vip_info": {
+ "vipType": 1,
+ "vipDueMsec": 0,
+ "vipStatus": 1
+ },
+ "trend_type": 0
+ },
+ {
+ "mid": 53456,
+ "pay_mid": 328473637,
+ "rank": 2,
+ "uname": "SkJ_17",
+ "avatar": "http://i1.hdslb.com/bfs/face/42b50918e8b7288009e55332322f991dcbce960a.jpg",
+ "message": "",
+ "msg_deleted": 0,
+ "vip_info": {
+ "vipType": 2,
+ "vipDueMsec": 0,
+ "vipStatus": 1
+ },
+ "trend_type": 0
+ },
+ {
+ "mid": 53456,
+ "pay_mid": 31345826,
+ "rank": 3,
+ "uname": "Aries梦落",
+ "avatar": "http://i2.hdslb.com/bfs/face/206a58430c3e11675cacf3b7d7b4a8d9e44de3b2.jpg",
+ "message": "",
+ "msg_deleted": 0,
+ "vip_info": {
+ "vipType": 2,
+ "vipDueMsec": 0,
+ "vipStatus": 1
+ },
+ "trend_type": 0
+ },
+ {
+ "mid": 53456,
+ "pay_mid": 349867059,
+ "rank": 4,
+ "uname": "铭月zsm",
+ "avatar": "http://i0.hdslb.com/bfs/face/b8cd7533376d80a1d8b36092f433c39ba1761cbc.jpg",
+ "message": "",
+ "msg_deleted": 0,
+ "vip_info": {
+ "vipType": 1,
+ "vipDueMsec": 0,
+ "vipStatus": 0
+ },
+ "trend_type": 0
+ }
+ ],
+ "list": [
+ {
+ "mid": 53456,
+ "pay_mid": 346545025,
+ "rank": 1,
+ "uname": "还有什么名字没人用",
+ "avatar": "http://i1.hdslb.com/bfs/face/76d4b1ecd13e992a6c7303d77bf716dd922ab234.jpg",
+ "message": "早日康复,五月快乐",
+ "msg_deleted": 0,
+ "vip_info": {
+ "vipType": 2,
+ "vipDueMsec": 0,
+ "vipStatus": 1
+ },
+ "trend_type": 0
+ },
+ {
+ "mid": 53456,
+ "pay_mid": 8826056,
+ "rank": 2,
+ "uname": "煋痕",
+ "avatar": "http://i2.hdslb.com/bfs/face/35b7c752d0eb1bb7a924804f240b9bfd9199625f.jpg",
+ "message": "",
+ "msg_deleted": 0,
+ "vip_info": {
+ "vipType": 2,
+ "vipDueMsec": 0,
+ "vipStatus": 1
+ },
+ "trend_type": 0
+ },
+ {
+ "mid": 53456,
+ "pay_mid": 356668487,
+ "rank": 3,
+ "uname": "舞象祥",
+ "avatar": "http://i1.hdslb.com/bfs/face/574f6203ef5bd0d56b95ded6a2736676d9cc5307.jpg",
+ "message": "warma hayo",
+ "msg_deleted": 0,
+ "vip_info": {
+ "vipType": 1,
+ "vipDueMsec": 0,
+ "vipStatus": 1
+ },
+ "trend_type": 0
+ },
+ …………
+ ]
+ }
+}
+```
+
diff --git a/history&toview/play_history.md b/history&toview/play_history.md
index d9b8383..437cad7 100644
--- a/history&toview/play_history.md
+++ b/history&toview/play_history.md
@@ -1,5 +1,7 @@
# 播放历史
+
+
## 获取视频播放历史
> http://api.bilibili.com/x/v2/history
diff --git a/history&toview/toview.md b/history&toview/toview.md
index 134e01c..656a01e 100644
--- a/history&toview/toview.md
+++ b/history&toview/toview.md
@@ -1,5 +1,7 @@
# 稍后再看
+
+
## 视频添加稍后再看
>http://api.bilibili.com/x/v2/history/toview/add
diff --git a/imgs/history.png b/imgs/history.png
new file mode 100644
index 0000000000000000000000000000000000000000..dc42b04222dada65b6a0e5902ea3b70348ab8d32
GIT binary patch
literal 2400
zcmcgud2G{G9L@@2lu{UHQ5j$i6vl9DC$vNCg-)hw&UC{EKfidj&L1pyX_7K`d!ITFmEbvTFRwEoxloa8LMO29v!_dR>v2s{efnyMz_0f4R%lcJ0D22g-
zmY?H-ydIXqX^KKDX582`i5|N}RhlCT*{U3Y;;Lt)r_|Vn*$Jl|vt|<{Yjm3?a5wFy
zX`H1g*3E)$C$ONmPbj4YOFR>cCWFb9G|-<|%b8FhmbQ$-65t1$is5);e}jZL5VPUb
zn0#8mIBDhVL@%{ozV^tG404Z8fpgv%CSNe%A^D0Dqo7VIcmZwN(9mEqr7&K%voN>j$XVZ;%O<>B
zfBW>fHFwT74C$ZY^@Tdt_D}1!dFi6`v_)%IZ0VBrQ=}yHMG8OZ{UU!)YRs@LEBCsj
z=`gwSPS;Jb8f-^N>8Z8r4&J@6dM?>?fc|~mg9m>dy;652cK^yd;=U=?jZ<#jK8J6s
zAJcI|=Zjm@-j<>TeHX|l(k`&Y)sFflT^$D+v!-7fJipO$Vl)|R!zeHH^DoO9@#ce^
z+im2)jDm(LhM1Y&6ref{bS~(+qIbwW>eLT?&h1S*IiV_6)aTwg{?wGI^&eebd8TgQ
z)p_CJrQJ_f?>t<&{TpBA?xFkJpFh$oM;U(N=pd(~*QefL&Wu^Lrpr61<W4vj{H5;u=2M=j&GxF=gUj!@6=z%D
zyLq0|sT<~PtIPI_&2^?(b=kRj!_SQFeZNg;US?=QO;#Jv<)yJK=O$0eHU7}F)J3+`
zKl3lIT3l2+{ra(60}swPGg_`~i*#QSO`q=hF1PB!4dSayu(P`2Y}G`U@9;$E=7h|v
zHwIeA7PK3$bedc67g|AiLJJvtkwQsZ1rLu9=q145ja>iOV4twv*
zrd_XBU-S3BFte%t=&b7*9fY+?O1F`>`Zo4Bx^Sbb@9L%xOJD3a^?2!2UvqkD#){wI
hNs~Sw@Iff6Ib)o?vg7``L1yC{$m_{-?{dw2<8N@ZIM4t9
literal 0
HcmV?d00001
diff --git a/imgs/toview.png b/imgs/toview.png
new file mode 100644
index 0000000000000000000000000000000000000000..cd1e0aebdeb644ad1b2ddff47df4ed27416446f9
GIT binary patch
literal 724
zcmV;_0xSKAP)P000>X1^@s6#OZ}&0007;NklKu}sJmHJbCIB(=G60Ed8A+o2f?~%=>1NdTN6iW5qsnMOzSA
zMk0Y(=G-3viU4;?ke_`o`SJW7%KY!7p02Q*+^RE##s-;wc8l=05dgGn3lVzbC%Jgr
zQQ+~4kQwKlMe7=)8FSTXe6FVihFq9zHAn|b0SI{p@V>Y&hrfR5G})?41>jo=w3rMP
z`w5Q^5g2-prM4Nl#LD=MW`tIUTw=vi+f4BD2d%%i>zV-Gt_GqjD#zF3#AK^RNODqN
zNHV5f)dU9L*#&TQH4q^i2~Un76_hSLk%BUQO^xXU(IfM6x{ye4cG3E1djq5G4bg!L
zP!uJ;@E3vCz&T(ipkE0x=k7ymDJ0|>KrXQYi9aB~+(-500:服务器端异常
**详细说明见下一表格** |
| message | str | 错误详情 | 若昵称可用,则不返回message |
`code`状态码:
@@ -28,12 +29,56 @@
| 2001 | 该昵称已被他人使用 |
| 40002 | 昵称包含敏感信息 |
| 40004 | 昵称不可包含除\-和_以外的特殊字符 |
-| 40005 | 昵称过长 |
-| 40006 | 昵称过短 |
+| 40005 | 昵称过长(超过16字符) |
+| 40006 | 昵称过短(少于2字符) |
| 40014 | 昵称已存在 |
**示例:**
+查询昵称 `xijinping` 是否被使用
+
+http://passport.bilibili.com/web/generic/check/nickname?nickName=xijinping
+
+```json
+{
+ "code":40002,
+ "message":"昵称包含敏感信息"
+}
+```
+
+查询昵称 `//` 是否被使用
+
+http://passport.bilibili.com/web/generic/check/nickname?nickName=%2F%2F
+
+```json
+{
+ "code": 40004,
+ "message": "昵称不可包含除-和_以外的特殊字符"
+}
+```
+
+查询昵称 `test0000000000000 ` 是否被使用
+
+ http://passport.bilibili.com/web/generic/check/nickname?nickName=test0000000000000
+
+```json
+{
+ "code": 40005,
+ "message": "昵称过长"
+}
+```
+
+查询昵称 `0` 是否被使用
+
+ http://passport.bilibili.com/web/generic/check/nickname?nickName=0
+
+```json
+{
+ "code": 40006,
+ "message": "昵称过短"
+}
+```
+
查询昵称 `test` 是否被使用
http://passport.bilibili.com/web/generic/check/nickname?nickName=test
@@ -45,16 +90,3 @@ http://passport.bilibili.com/web/generic/check/nickname?nickName=test
}
```
-查询昵称 `bishi` 是否被使用
-
-http://passport.bilibili.com/web/generic/check/nickname?nickName=bishi
-
-```json
-{
- "code":40002,
- "message":"昵称包含敏感信息"
-}
-```
-
-
-
diff --git a/video/videostream_url.md b/video/videostream_url.md
new file mode 100644
index 0000000..18eea01
--- /dev/null
+++ b/video/videostream_url.md
@@ -0,0 +1,256 @@
+# 视频流URL
+
+## 获取视频流URL
+
+> http://api.bilibili.com/x/player/playurl
+
+*方式:GET*
+
+获取会员专属视频及720P以上清晰度视频时需要登录(SESSDATA)
+
+会员专属及高帧率(码率)视频需要带有大会员的账号token(SESSDATA)
+
+获取的url有效时间为120min,超时失效需要重新获取
+
+**参数:**
+
+| 参数名 | 类型 | 内容 | 必要性 | 备注 |
+| ------ | ---- | -------------- | ------ | -------------------------------------------------- |
+| aid | url | 视频avID | 非必要 | avID与bvID任选一个 |
+| bvid | url | 视频bvID | 非必要 | avID与bvID任选一个 |
+| cid | url | 视频CID | 必要 | |
+| qn | url | 视频清晰度选择 | 非必要 | 未登录默认32
登录默认64
**值含义见下表** |
+
+分辨率代码:
+
+| 值 | 含义 |
+| ---- | ---------------------- |
+| 16 | 360P 流畅 |
+| 32 | 480P 清晰 |
+| 64 | 720P 高清(登录) |
+| 74 | 720P60 高清(大会员) |
+| 80 | 1080P 高清(登录) |
+| 112 | 1080P+ 高清(大会员) |
+| 116 | 1080P60 高清(大会员) |
+| 120 | 4K 超清(大会员) |
+
+**json回复:**
+
+根对象:
+
+| 字段 | 类型 | 内容 | 备注 |
+| ------- | ----------------------------- | -------- | ---------------------------------------------- |
+| code | num | 返回值 | 0:成功
-400:请求错误
-404:无视频 |
+| message | str | 错误信息 | 默认为0 |
+| ttl | num | 1 | 作用尚不明确 |
+| data | 有效时:obj
无效时:null | 数据本体 | |
+
+`data`对象:
+
+| 字段 | 类型 | 内容 | 备注 |
+| ------------------ | ------ | ------------------------ | ---------------------------------------- |
+| from | str | local | 作用尚不明确 |
+| result | str | suee | 作用尚不明确 |
+| message | str | 空 | 作用尚不明确 |
+| quality | num | 视频分辨率代码 | **值含义见上表** |
+| format | str | 视频格式 | |
+| timelength | num | 视频长度 | 单位为毫秒
不同分辨率可能有略微差异 |
+| accept_format | str | 视频支持的分辨率的格式 | |
+| accept_description | arrary | 视频支持的分辨率列表 | |
+| accept_quality | arrary | 视频支持的分辨率代码列表 | **值含义见上表** |
+| video_codecid | num | ??? | 作用尚不明确 |
+| seek_param | str | start | 作用尚不明确 |
+| seek_type | str | offset | 作用尚不明确 |
+| durl | arrary | 视频流地址信息 | |
+
+`data`中的`accept_description`数组:
+
+| 项 | 类型 | 内容 | 备注 |
+| ---- | ---- | ----------- | ---- |
+| 0 | str | 分辨率1 | |
+| n | str | 分辨率(n+1) | |
+| …… | str | …… | …… |
+
+`data`中的`accept_quality`数组:
+
+| 项 | 类型 | 内容 | 备注 |
+| ---- | ---- | --------------- | ---- |
+| 0 | str | 分辨率代码1 | |
+| n | str | 分辨率代码(n+1) | |
+| …… | str | …… | …… |
+
+`data`中的`durl`数组:
+
+| 项 | 类型 | 内容 | 备注 |
+| ---- | ---- | -------------- | ---- |
+| 0 | obj | 视频流地址信息 | |
+
+`data`中的`durl`数组中的对象:
+
+| 字段 | 类型 | 内容 | 备注 |
+| ---------- | ------ | ---------- | ------------------------------ |
+| order | num | 1 | 作用尚不明确 |
+| length | num | 视频长度 | 单位为毫秒 |
+| size | num | 视频大小 | 单位为Byte |
+| ahead | str | ??? | 作用尚不明确 |
+| vhead | str | ??? | 作用尚不明确 |
+| url | str | 视频流url | **重要**
有效时间为120min |
+| backup_url | arrary | 备用视频流 | |
+
+`data`中的`durl`数组中的对象中的`backup_url`数组:
+
+| 项 | 类型 | 内容 | 备注 |
+| ---- | ---- | ------------- | ---------------- |
+| 0 | str | 备用视频流url | 有效时间为120min |
+
+**示例:**
+
+获取视频`av99999999`/`BV1y7411Q7Eq`中的1P(CID=`171776208`)的视频流url,清晰度为1080P+
+
+ http://api.bilibili.com/x/player/playurl?avid=99999999&cid=171776208&qn=112
+
+ 同http://api.bilibili.com/x/player/playurl?bvid=BV1y7411Q7Eq&cid=171776208&qn=112
+
+```json
+{
+ "code": 0,
+ "message": "0",
+ "ttl": 1,
+ "data": {
+ "from": "local",
+ "result": "suee",
+ "message": "",
+ "quality": 112,
+ "format": "hdflv2",
+ "timelength": 283701,
+ "accept_format": "hdflv2,flv,flv720,flv480,mp4",
+ "accept_description": [
+ "高清 1080P+",
+ "高清 1080P",
+ "高清 720P",
+ "清晰 480P",
+ "流畅 360P"
+ ],
+ "accept_quality": [
+ 112,
+ 80,
+ 64,
+ 32,
+ 16
+ ],
+ "video_codecid": 7,
+ "seek_param": "start",
+ "seek_type": "offset",
+ "durl": [
+ {
+ "order": 1,
+ "length": 283701,
+ "size": 219827828,
+ "ahead": "",
+ "vhead": "",
+ "url": "http://upos-sz-mirrorhw.bilivideo.com/upgcxcode/08/62/171776208/171776208-1-112.flv?e=ig8euxZM2rNcNbhMnwhVhwdlhzK3hzdVhoNvNC8BqJIzNbfqXBvEqxTEto8BTrNvN0GvT90W5JZMkX_YN0MvXg8gNEV4NC8xNEV4N03eN0B5tZlqNxTEto8BTrNvNeZVuJ10Kj_g2UB02J0mN0B5tZlqNCNEto8BTrNvNC7MTX502C8f2jmMQJ6mqF2fka1mqx6gqj0eN0B599M=&uipk=5&nbs=1&deadline=1589565412&gen=playurl&os=hwbv&oi=606631998&trid=e0fa5f9a7610440a871279a28fae85aau&platform=pc&upsig=5f469cb4c190ed54b89bd40cc37eddff&uparams=e,uipk,nbs,deadline,gen,os,oi,trid,platform&mid=293793435&logo=80000000",
+ "backup_url": [
+ "http://upos-sz-mirrorks3c.bilivideo.com/upgcxcode/08/62/171776208/171776208-1-112.flv?e=ig8euxZM2rNcNbhMnwhVhwdlhzK3hzdVhoNvNC8BqJIzNbfqXBvEqxTEto8BTrNvN0GvT90W5JZMkX_YN0MvXg8gNEV4NC8xNEV4N03eN0B5tZlqNxTEto8BTrNvNeZVuJ10Kj_g2UB02J0mN0B5tZlqNCNEto8BTrNvNC7MTX502C8f2jmMQJ6mqF2fka1mqx6gqj0eN0B599M=&uipk=5&nbs=1&deadline=1589565412&gen=playurl&os=ks3cbv&oi=606631998&trid=e0fa5f9a7610440a871279a28fae85aau&platform=pc&upsig=914ef921c5258e067c382601a4b1f81c&uparams=e,uipk,nbs,deadline,gen,os,oi,trid,platform&mid=293793435&logo=40000000"
+ ]
+ }
+ ]
+ }
+}
+```
+
+
+
+## 视频的获取
+
+将`data`.`durl`.`[0]`.`url`或`data`.`durl`.`[0]`.`backup_url`.`[0]`中的内容作为url进行GET操作
+
+Header中的`referer`为 `http://www.bilibili.com`或`https://www.bilibili.com`域名下
+
+以上述示例为例:
+
+**无referer或错误的情况会返回403 Forbidden**
+
+**发送:**
+
+```http
+GET http://upos-sz-mirrorhw.bilivideo.com/upgcxcode/08/62/171776208/171776208-1-112.flv?e=ig8euxZM2rNcNbhMnwhVhwdlhzK3hzdVhoNvNC8BqJIzNbfqXBvEqxTEto8BTrNvN0GvT90W5JZMkX_YN0MvXg8gNEV4NC8xNEV4N03eN0B5tZlqNxTEto8BTrNvNeZVuJ10Kj_g2UB02J0mN0B5tZlqNCNEto8BTrNvNC7MTX502C8f2jmMQJ6mqF2fka1mqx6gqj0eN0B599M=&uipk=5&nbs=1&deadline=1589565412&gen=playurl&os=hwbv&oi=606631998&trid=e0fa5f9a7610440a871279a28fae85aau&platform=pc&upsig=5f469cb4c190ed54b89bd40cc37eddff&uparams=e,uipk,nbs,deadline,gen,os,oi,trid,platform&mid=293793435&logo=80000000 HTTP/1.1
+User-Agent: PostmanRuntime/7.24.1
+Accept: */*
+Cache-Control: no-cache
+Postman-Token: 7f6ab887-69da-400c-ba7d-f5c40f27e1c3
+Host: upos-sz-mirrorhw.bilivideo.com
+Accept-Encoding: gzip, deflate, br
+Connection: keep-alive
+
+
+```
+
+**回复:**
+
+```http
+HTTP/1.1 403 Forbidden
+Server: openresty
+Date: Fri, 15 May 2020 16:09:34 GMT
+Content-Type: video/x-flv
+Content-Length: 166
+Connection: keep-alive
+X-Upsig-Version: 190420
+via: CHN-SCchengdu-AREACT1-CACHE57[1]
+Access-Control-Expose-Headers: Content-Length,Content-Range
+
+
+403 Forbidden
+
+403 Forbidden
+
+
+```
+
+**有referer时则验证通过**
+
+**发送:**
+
+```http
+GET http://upos-sz-mirrorhw.bilivideo.com/upgcxcode/08/62/171776208/171776208-1-112.flv?e=ig8euxZM2rNcNbhMnwhVhwdlhzK3hzdVhoNvNC8BqJIzNbfqXBvEqxTEto8BTrNvN0GvT90W5JZMkX_YN0MvXg8gNEV4NC8xNEV4N03eN0B5tZlqNxTEto8BTrNvNeZVuJ10Kj_g2UB02J0mN0B5tZlqNCNEto8BTrNvNC7MTX502C8f2jmMQJ6mqF2fka1mqx6gqj0eN0B599M=&uipk=5&nbs=1&deadline=1589565412&gen=playurl&os=hwbv&oi=606631998&trid=e0fa5f9a7610440a871279a28fae85aau&platform=pc&upsig=5f469cb4c190ed54b89bd40cc37eddff&uparams=e,uipk,nbs,deadline,gen,os,oi,trid,platform&mid=293793435&logo=80000000 HTTP/1.1
+referer: http://www.bilibili.com/
+User-Agent: PostmanRuntime/7.24.1
+Accept: */*
+Cache-Control: no-cache
+Postman-Token: 9e409e47-dc77-4c40-8fe2-1ea7c0905961
+Host: upos-sz-mirrorhw.bilivideo.com
+Accept-Encoding: gzip, deflate, br
+Connection: keep-alive
+
+
+```
+
+**回复:**
+
+正文为视频内容
+
+```http
+HTTP/1.1 200 OK
+Date: Fri, 15 May 2020 16:13:01 GMT
+Content-Type: video/x-flv
+Content-Length: 219827828
+Connection: keep-alive
+X-Upsig-Version: 190420
+Server: openresty
+x-reserved: amazon, aws and amazon web services are trademarks or registered trademarks of Amazon Technologies, Inc
+x-amz-request-id: 00000171ED11F963915698CFDF24DE1C
+ETag: "b5b14ac8295bf38b56650cc7660aa16b-5"
+Last-Modified: Mon, 30 Mar 2020 16:50:07 GMT
+x-amz-expiration: expiry-date="Sat, 30 May 2020 00:00:00 GMT", rule-id="rule-5d42"
+x-amz-id-2: 32AAAQAAEAABAAAQAAEAABAAAQAAEAABCScDbHkW6YJFJqXuVozY87putiDpckA7
+X-CCDN-Expires: 2304606
+via: CHN-SCchengdu-AREACT1-CACHE66[6],CHN-SCchengdu-AREACT1-CACHE22[0,TCP_HIT,3],CHN-ZJwenzhou-AREACT1-CACHE29[20],CHN-ZJwenzhou-AREACT1-CACHE22[0,TCP_HIT,17],CHN-SH-GLOBAL1-CACHE28[24],CHN-SH-GLOBAL1-CACHE21[0,TCP_HIT,22]
+x-hcs-proxy-type: 1
+X-CCDN-CacheTTL: 2592000
+nginx-hit: 1
+Age: 287667
+Accept-Ranges: bytes
+Access-Control-Expose-Headers: Content-Length,Content-Range
+
+…………
+```
+