获取最新 APP 版本

获取版本信息

https://app.bilibili.com/x/v2/version

请求方法: GET

URL参数:

参数名类型内容必要性备注
mobi_appstr目标客户端类型不必要留空为最新有更新的平台
android: Android 版
iphone: iPhone 版
ipad: iPad HD 版
win: UWP 版
android_tv_yst: TV 版
android_car: 车机版
pc_client: PC 客户端

JSON回复:

根对象:

字段类型内容备注
codeint返回值0: 成功
messagestr错误信息默认为 0
ttlint1
dataarray版本信息列表

data 数组中的对象:

字段类型内容备注
platint平台0: Android
1: iPhone
2: iPad HD
3: UWP
12: TV 版
35: 车机版
40: PC 客户端
descstr版本描述
versionstr版本号
buildint内部版本号

示例:

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

鉴权方式(非必须):APP API 签名与鉴权

URL参数:

参数名类型内容必要性备注
abistr设备 CPU ABI不必要arm64-v8a
appidstr客户端类型不必要tv.danmaku.bili
brandstr设备品牌不必要google
buildint当前 APP 版本号必要8000200
channelstrAPP 分发渠道必要master
deviceidstr设备唯一 ID不必要即 XU-Prefixed BUVID,见 device_identity
envstrAPP 分发环境不必要默认 prod
ivint当前 APP innerVer不必要8000210
mobi_appstrAPP mobi_app必要android
modelstr设备型号不必要Pixel 2 XL
ntstr-必要默认 1
ovstr设备 OS 版本必要安卓即 API Level,如 Android 11 为 30
platformstr设备平台不必要android
screenstr设备屏幕参数不必要2712_1440@537.882_537.882
snint当前 APP SN必要15088473
vnstr当前 APP 版本名称必要8.0.0

标头参数(Headers):

参数名类型内容必要性备注
app-keystrAPPKey 名称必要大体等同于 mobi_app。特别地:64 位版本粉版客户端应为 android64
buvidstrBUVID必要XU-Prefixed BUVID,见 device_identity

JSON回复:

根对象:

字段类型内容备注
codeint返回值0: 成功
-304: 木有改动
-400: 请求异常
messagestr错误信息默认为 0
ttlint1
dataobj信息本体

data 对象:

字段类型内容备注
titlestr标题
contentstr内容
versionstr最新版本名称
version_codeint最新版本号build
urlstr下载地址
sizeint大小单位字节
md5strMD5 值
silentint是否静默安装?
upgrade_typeint升级类型?
cycleint升级周期?
policyint升级策略?
policy_urlstr升级策略链接?
ptimeint发布时间

示例:

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参数:

参数名类型内容必要性备注
targetstring目标平台目测仅 pc_electron, 错误的值会导致返回 HTTP 404
cdn_urlstringCDN URL任意字符串, 默认 https://dl.hdslb.com/mobile/fixed/bili_win/bili_win-install.exe

JSON回复:

根对象:

字段类型内容备注
codenumber返回值0: 成功
-1: need target
messagestring错误消息成功时无此项

data 对象:

字段类型内容备注
cdn_urlstringCDN URL内容同请求参数 cdn_url
sole_cdn_urlstring带版本的 CDN URLcdn_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"
  }
}