x/web-interface/view:稿件详情(标题、封面、UP 主、统计、简介、分 P 列表 pages)。data.cid 是默认分 P 的视频流 ID,多 P 时逐条取 pages[].cid,给 videoStream 取流、给 videoDanmaku 取弹幕都要它。无签名。curl --location 'http://localhost:4567/api/bilibili/fetch_one_video?bvid=undefined'success 判别{
"success": true,
"data": {
"code": 0,
"data": {
"aid": 0,
"argue_info": {
"argue_link": "string",
"argue_msg": "string",
"argue_type": 0
},
"bvid": "string",
"cid": 0,
"copyright": 0,
"ctime": 0,
"desc": "string",
"desc_v2": [
{
"biz_id": 0,
"raw_text": "string",
"type": 0
}
],
"dimension": {
"height": 0,
"rotate": 0,
"width": 0
},
"disable_show_up_info": true,
"duration": 0,
"dynamic": "string",
"enable_vt": 0,
"honor_reply": {},
"is_chargeable_season": true,
"is_hua_sheng": true,
"is_season_display": true,
"is_story": true,
"is_story_play": 0,
"is_upower_exclusive": true,
"is_upower_exclusive_with_qa": true,
"is_upower_play": true,
"is_upower_preview": true,
"is_view_self": true,
"like_icon": "string",
"need_jump_bv": true,
"no_cache": true,
"owner": {
"face": "string",
"mid": 0,
"name": "string"
},
"pages": [
{
"cid": 0,
"ctime": 0,
"dimension": {
"height": 0,
"rotate": 0,
"width": 0
},
"duration": 0,
"first_frame": "string",
"from": "string",
"page": 0,
"part": "string",
"vid": "string",
"weblink": "string"
}
],
"pic": "string",
"premiere": null,
"pubdate": 0,
"rights": {
"arc_pay": 0,
"autoplay": 0,
"bp": 0,
"clean_mode": 0,
"download": 0,
"elec": 0,
"free_watch": 0,
"hd5": 0,
"is_360": 0,
"is_cooperation": 0,
"is_stein_gate": 0,
"movie": 0,
"no_background": 0,
"no_reprint": 0,
"no_share": 0,
"pay": 0,
"ugc_pay": 0,
"ugc_pay_preview": 0
},
"season_id": 0,
"stat": {
"aid": 0,
"coin": 0,
"danmaku": 0,
"dislike": 0,
"evaluation": "string",
"favorite": 0,
"his_rank": 0,
"like": 0,
"now_rank": 0,
"reply": 0,
"share": 0,
"view": 0,
"vt": 0
},
"state": 0,
"subtitle": {
"allow_submit": true,
"list": [
null
]
},
"teenage_mode": 0,
"tid": 0,
"tid_v2": 0,
"title": "string",
"tname": "string",
"tname_v2": "string",
"ugc_season": {
"attribute": 0,
"cover": "string",
"enable_vt": 0,
"ep_count": 0,
"id": 0,
"intro": "string",
"is_pay_season": true,
"mid": 0,
"season_type": 0,
"sections": [
{
"episodes": [
{
"aid": 0,
"arc": {
"aid": 0,
"author": {
"face": "string",
"mid": 0,
"name": "string"
},
"copyright": 0,
"ctime": 0,
"desc": "string",
"desc_v2": null,
"dimension": {
"height": 0,
"rotate": 0,
"width": 0
},
"duration": 0,
"dynamic": "string",
"enable_vt": 0,
"is_blooper": true,
"is_chargeable_season": true,
"is_lesson_video": 0,
"pic": "string",
"pubdate": 0,
"rights": {
"arc_pay": 0,
"autoplay": 0,
"bp": 0,
"download": 0,
"elec": 0,
"free_watch": 0,
"hd5": 0,
"is_cooperation": 0,
"movie": 0,
"no_reprint": 0,
"pay": 0,
"ugc_pay": 0,
"ugc_pay_preview": 0
},
"stat": {
"aid": 0,
"argue_msg": "string",
"coin": 0,
"danmaku": 0,
"dislike": 0,
"evaluation": "string",
"fav": 0,
"his_rank": 0,
"like": 0,
"now_rank": 0,
"reply": 0,
"share": 0,
"view": 0,
"vt": 0,
"vv": 0
},
"state": 0,
"title": "string",
"type_id": 0,
"type_id_v2": 0,
"type_name": "string",
"type_name_v2": "string",
"videos": 0,
"vt_display": "string"
},
"attribute": 0,
"bvid": "string",
"cid": 0,
"id": 0,
"page": {
"cid": 0,
"dimension": {
"height": 0,
"rotate": 0,
"width": 0
},
"duration": 0,
"from": "string",
"page": 0,
"part": "string",
"vid": "string",
"weblink": "string"
},
"pages": [
{
"cid": 0,
"dimension": {
"height": 0,
"rotate": 0,
"width": 0
},
"duration": 0,
"from": "string",
"page": 0,
"part": "string",
"vid": "string",
"weblink": "string"
}
],
"season_id": 0,
"section_id": 0,
"title": "string"
}
],
"id": 0,
"season_id": 0,
"title": "string",
"type": 0
}
],
"sign_state": 0,
"stat": {
"coin": 0,
"danmaku": 0,
"fav": 0,
"his_rank": 0,
"like": 0,
"now_rank": 0,
"reply": 0,
"season_id": 0,
"share": 0,
"view": 0,
"vt": 0,
"vv": 0
},
"title": "string"
},
"user_garb": {
"url_image_ani_cut": "string"
},
"videos": 0,
"vt_display": "string"
},
"message": "string",
"ttl": 0
},
"message": "获取成功",
"meta": {
"requestId": "string",
"clientId": "string",
"platform": "douyin",
"endpoint": "string",
"durationMs": 0,
"attempts": 0,
"trace": [
{
"url": "string",
"method": "string",
"status": 0,
"durationMs": 0,
"reason": "initial",
"retryOf": "string"
}
]
},
"requestPath": "/api/bilibili/fetch_one_video?bvid=BV1xx"
}