import{_ as d,c as p,a as o,b as s,d as t,e as a,w as e,r,o as i}from"./app-Dgsdh8A6.js";const u={};function c(D,l){const n=r("RouteLink");return i(),p("div",null,[l[39]||(l[39]=o(`
https://app.bilibili.com/x/v2/version
请求方法: GET
URL参数:
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|---|---|---|---|---|
| mobi_app | str | 目标客户端类型 | 不必要 | 留空为最新有更新的平台 android: Android 版 iphone: iPhone 版 ipad: iPad HD 版 win: UWP 版 android_tv_yst: TV 版 android_car: 车机版 pc_client: PC 客户端 |
JSON回复:
根对象:
| 字段 | 类型 | 内容 | 备注 |
|---|---|---|---|
| code | int | 返回值 | 0: 成功 |
| message | str | 错误信息 | 默认为 0 |
| ttl | int | 1 | |
| data | array | 版本信息列表 |
data 数组中的对象:
| 字段 | 类型 | 内容 | 备注 |
|---|---|---|---|
| plat | int | 平台 | 0: Android 1: iPhone 2: iPad HD 3: UWP 12: TV 版 35: 车机版 40: PC 客户端 |
| desc | str | 版本描述 | |
| version | str | 版本号 | |
| build | int | 内部版本号 |
示例:
curl -G 'https://app.bilibili.com/x/v2/version' \\
--url-query'mobi_app=android'{
"code": 0,
"message": "0",
"ttl": 1,
"data": [
{
"plat": 0,
"desc": "-修复了一些bug,切了个大西瓜~",
"version": "8.9.0",
"build": 8090300,
"ptime": 1723612377
},
// ...
{
"plat": 0,
"desc": "[修正]横屏状态下,视频列表加载失败的问题\\n[修正]超过48kHz采样率的音频无法播放的问题\\n[修正]部分系统黑屏的问题\\nPS:帮下面的同学祈祷早日上架",
"version": "2.0.4",
"build": 0,
"ptime": 1382630400
}
]
}https://app.bilibili.com/x/v2/version/fawkes/upgrade
请求方式: GET
`,17)),s("p",null,[l[1]||(l[1]=t("鉴权方式(非必须):")),a(n,{to:"/docs/misc/sign/APP.html"},{default:e(()=>l[0]||(l[0]=[t("APP API 签名与鉴权")])),_:1,__:[0]})]),l[40]||(l[40]=s("p",null,[s("strong",null,"URL参数:")],-1)),s("table",null,[l[23]||(l[23]=s("thead",null,[s("tr",null,[s("th",null,"参数名"),s("th",null,"类型"),s("th",null,"内容"),s("th",null,"必要性"),s("th",null,"备注")])],-1)),s("tbody",null,[l[8]||(l[8]=s("tr",null,[s("td",null,"abi"),s("td",null,"str"),s("td",null,"设备 CPU ABI"),s("td",null,"不必要"),s("td",null,[t("如 "),s("code",null,"arm64-v8a")])],-1)),l[9]||(l[9]=s("tr",null,[s("td",null,"appid"),s("td",null,"str"),s("td",null,"客户端类型"),s("td",null,"不必要"),s("td",null,[t("如 "),s("code",null,"tv.danmaku.bili")])],-1)),l[10]||(l[10]=s("tr",null,[s("td",null,"brand"),s("td",null,"str"),s("td",null,"设备品牌"),s("td",null,"不必要"),s("td",null,[t("如 "),s("code",null,"google")])],-1)),l[11]||(l[11]=s("tr",null,[s("td",null,"build"),s("td",null,"int"),s("td",null,"当前 APP 版本号"),s("td",null,"必要"),s("td",null,[t("如 "),s("code",null,"8000200")])],-1)),l[12]||(l[12]=s("tr",null,[s("td",null,"channel"),s("td",null,"str"),s("td",null,"APP 分发渠道"),s("td",null,"必要"),s("td",null,[t("如 "),s("code",null,"master")])],-1)),s("tr",null,[l[4]||(l[4]=s("td",null,"deviceid",-1)),l[5]||(l[5]=s("td",null,"str",-1)),l[6]||(l[6]=s("td",null,"设备唯一 ID",-1)),l[7]||(l[7]=s("td",null,"不必要",-1)),s("td",null,[l[3]||(l[3]=t("即 XU-Prefixed BUVID,见 ")),a(n,{to:"/docs/misc/device_identity.html"},{default:e(()=>l[2]||(l[2]=[t("device_identity")])),_:1,__:[2]})])]),l[13]||(l[13]=s("tr",null,[s("td",null,"env"),s("td",null,"str"),s("td",null,"APP 分发环境"),s("td",null,"不必要"),s("td",null,[t("默认 "),s("code",null,"prod")])],-1)),l[14]||(l[14]=s("tr",null,[s("td",null,"iv"),s("td",null,"int"),s("td",null,"当前 APP innerVer"),s("td",null,"不必要"),s("td",null,[t("如 "),s("code",null,"8000210")])],-1)),l[15]||(l[15]=s("tr",null,[s("td",null,"mobi_app"),s("td",null,"str"),s("td",null,"APP mobi_app"),s("td",null,"必要"),s("td",null,[t("如 "),s("code",null,"android")])],-1)),l[16]||(l[16]=s("tr",null,[s("td",null,"model"),s("td",null,"str"),s("td",null,"设备型号"),s("td",null,"不必要"),s("td",null,[t("如 "),s("code",null,"Pixel 2 XL")])],-1)),l[17]||(l[17]=s("tr",null,[s("td",null,"nt"),s("td",null,"str"),s("td",null,"-"),s("td",null,"必要"),s("td",null,[t("默认 "),s("code",null,"1")])],-1)),l[18]||(l[18]=s("tr",null,[s("td",null,"ov"),s("td",null,"str"),s("td",null,"设备 OS 版本"),s("td",null,"必要"),s("td",null,[t("安卓即 API Level,如 Android 11 为 "),s("code",null,"30")])],-1)),l[19]||(l[19]=s("tr",null,[s("td",null,"platform"),s("td",null,"str"),s("td",null,"设备平台"),s("td",null,"不必要"),s("td",null,[t("如 "),s("code",null,"android")])],-1)),l[20]||(l[20]=s("tr",null,[s("td",null,"screen"),s("td",null,"str"),s("td",null,"设备屏幕参数"),s("td",null,"不必要"),s("td",null,[t("如 "),s("code",null,"2712_1440@537.882_537.882")])],-1)),l[21]||(l[21]=s("tr",null,[s("td",null,"sn"),s("td",null,"int"),s("td",null,"当前 APP SN"),s("td",null,"必要"),s("td",null,[t("如 "),s("code",null,"15088473")])],-1)),l[22]||(l[22]=s("tr",null,[s("td",null,"vn"),s("td",null,"str"),s("td",null,"当前 APP 版本名称"),s("td",null,"必要"),s("td",null,[t("如 "),s("code",null,"8.0.0")])],-1))])]),l[41]||(l[41]=s("p",null,[s("strong",null,"标头参数(Headers):")],-1)),s("table",null,[l[38]||(l[38]=s("thead",null,[s("tr",null,[s("th",null,"参数名"),s("th",null,"类型"),s("th",null,"内容"),s("th",null,"必要性"),s("th",null,"备注")])],-1)),s("tbody",null,[s("tr",null,[l[28]||(l[28]=s("td",null,"app-key",-1)),l[29]||(l[29]=s("td",null,"str",-1)),l[30]||(l[30]=s("td",null,"APPKey 名称",-1)),l[31]||(l[31]=s("td",null,"必要",-1)),s("td",null,[l[25]||(l[25]=t("大体等同于 ")),a(n,{to:"/docs/misc/sign/APPKey.html"},{default:e(()=>l[24]||(l[24]=[s("code",null,"mobi_app",-1)])),_:1,__:[24]}),l[26]||(l[26]=t("。特别地:64 位版本粉版客户端应为 ")),l[27]||(l[27]=s("code",null,"android64",-1))])]),s("tr",null,[l[34]||(l[34]=s("td",null,"buvid",-1)),l[35]||(l[35]=s("td",null,"str",-1)),l[36]||(l[36]=s("td",null,"BUVID",-1)),l[37]||(l[37]=s("td",null,"必要",-1)),s("td",null,[l[33]||(l[33]=t("XU-Prefixed BUVID,见 ")),a(n,{to:"/docs/misc/device_identity.html"},{default:e(()=>l[32]||(l[32]=[t("device_identity")])),_:1,__:[32]})])])])]),l[42]||(l[42]=o(`JSON回复:
根对象:
| 字段 | 类型 | 内容 | 备注 |
|---|---|---|---|
| code | int | 返回值 | 0: 成功 -304: 木有改动 -400: 请求异常 |
| message | str | 错误信息 | 默认为 0 |
| ttl | int | 1 | |
| data | obj | 信息本体 |
data 对象:
| 字段 | 类型 | 内容 | 备注 |
|---|---|---|---|
| title | str | 标题 | |
| content | str | 内容 | |
| version | str | 最新版本名称 | |
| version_code | int | 最新版本号 | 即 build |
| url | str | 下载地址 | |
| size | int | 大小 | 单位字节 |
| md5 | str | MD5 值 | |
| silent | int | 是否静默安装? | |
| upgrade_type | int | 升级类型? | |
| cycle | int | 升级周期? | |
| policy | int | 升级策略? | |
| policy_url | str | 升级策略链接? | |
| ptime | int | 发布时间 |
示例:
curl -G 'https://app.bilibili.com/x/v2/version/fawkes/upgrade' \\
--url-query 'build=1145141' \\
--url-query 'channel=apt' \\
--url-query 'mobi_app=android' \\
--url-query 'nt=awa' \\
--url-query 'ov=qwq' \\
--url-query 'platform=archlinux' \\
--url-query 'sn=919810' \\
--url-query 'vn=!!!'{
"code": 0,
"message": "0",
"ttl": 1,
"data": {
"title": "升级提醒",
"content": "-修复了一些bug,并吃了一桶冰淇凌~\\n-记得检查暑假作业哦!",
"version": "8.10.0",
"version_code": 8100300,
"url": "https://dl.hdslb.com/mobile/pack/android64/15793300/iBiliPlayer-apinkRelease-8.10.0-b15793300.apk",
"size": 132432843,
"md5": "f196c0ea68ff894dab0cf380cafad802",
"silent": 0,
"upgrade_type": 1,
"cycle": 4,
"policy": 0,
"policy_url": "",
"is_gray": 0,
"ptime": 1724207041
}
}https://api.bilibili.com/x/web-frontend/getappversion
请求方法: GET
URL参数:
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|---|---|---|---|---|
| target | string | 目标平台 | 目测仅 pc_electron, 错误的值会导致返回 HTTP 404 | |
| cdn_url | string | CDN URL | 任意字符串, 默认 https://dl.hdslb.com/mobile/fixed/bili_win/bili_win-install.exe |
JSON回复:
根对象:
| 字段 | 类型 | 内容 | 备注 |
|---|---|---|---|
| code | number | 返回值 | 0: 成功 -1: need target |
| message | string | 错误消息 | 成功时无此项 |
data 对象:
| 字段 | 类型 | 内容 | 备注 |
|---|---|---|---|
| cdn_url | string | CDN URL | 内容同请求参数 cdn_url |
| sole_cdn_url | string | 带版本的 CDN URL | cdn_url + "?v=" + 最新版本 |
示例:
curl -G 'https://api.bilibili.com/x/web-frontend/getappversion' \\
--url-query 'target=pc_electron' \\
--url-query 'cdn_url=https://dl.hdslb.com/mobile/fixed/bili_win/bili_win-install.exe'{
"code": 0,
"data": {
"cdn_url": "https://dl.hdslb.com/mobile/fixed/bili_win/bili_win-install.exe",
"sole_cdn_url": "https://dl.hdslb.com/mobile/fixed/bili_win/bili_win-install.exe?v=1.16.1-2"
}
}