隐藏能力 · 主站 Web
开放平台(open.bilibili.com)只放出已商务合作的能力,文档自己也写着「其它能力不走文档,请发邮件咨询」(见 170_文档中未列出的功能)。剩下那一大片 —— 举报、拉黑、动态、评论、弹幕、私信、收藏、历史、合集、消息、番剧、直播、创作中心 —— 都在主站 www/api.bilibili.com、api.vc.bilibili.com 与 api.live.bilibili.com 上,走浏览器 Cookie,不走 2.0 签名。这一页把它们收齐:方法、地址、参数、返回码、实测状态、坑,一条不落,全部可以通过 bili_web_call 直接调。
scripts/probe-web.mjs(npm run web:probe)。主站体系只认 Cookie(SESSDATA / bili_jct 等),与开放平台的 client_id + secret + HMAC 签名互不通用。写操作会自动补 csrf=bili_jct;/wbi/、/polymer/、/v2/reply/wbi/ 路径会自动算 w_rid + wts。
🚩 举报
两个入口别混:按用户举报走 /x/space/report,按单条评论举报走 /x/v2/reply/report。合法组合一律先拉 /x/space/report/options,不要写死。
🔑 账号与登录态
确认 Cookie 死活、取 wbi 密钥、扫码登录、拿设备指纹。
👤 用户与空间
拿任意用户的公开资料、粉丝数、投稿计数、置顶视频、追番列表;以及「我和 TA 是什么关系」。
🎬 视频与播放
稿件详情、分 P、播放器信息、字幕、以及取播放地址。
✍️ 写操作(点赞 / 投币 / 收藏 / 关注 / 拉黑)
全部是 POST + csrf=bili_jct。缺 bili_jct 一律 -111 csrf 校验失败。这一组不会静默调用,标注为「未实测」的请自行在登录态下打一次。
💬 评论
读评论区、楼中楼、热评、表情面板。举报与发表在上面两组。
📰 动态
动态是 wbi + 风控最重的一块,裸调基本吃 412,必须先拿 wbi 签名并带上完整浏览器头。
🔔 关系与消息
关注列表、粉丝列表、黑名单、关注分组,以及消息中心(回复我的 / @我的 / 收到的赞)。
⭐ 收藏 / 历史 / 稍后再看
收藏夹、观看历史、稍后再看,以及「TA 投过币 / 点过赞」这类空间子页(受隐私开关影响)。
🔎 搜索与热搜
全站搜索、分类搜索、热搜榜。搜索类接口对风控敏感,请求头要全,频率要低。
📺 直播
直播间信息、拉流地址、弹幕长连、高能榜、分区列表。api.live.bilibili.com 与主站共用同一套 Cookie。
🛠️ 创作中心(member.bilibili.com)
网页端投稿与稿件管理走 member.bilibili.com,和开放平台的 member.bilibili.com/x/open... 是两套路径,别混。
💭 弹幕
视频弹幕全部是 protobuf / 压缩 XML,不是 JSON —— 普通 HTTP 客户端拿到的是一串二进制,需要按协议解。发弹幕是写操作。
✉️ 私信(api.vc.bilibili.com)
私信不在 api.bilibili.com 上,走 api.vc.bilibili.com;网页端还叠了一层长连同步。取会话与发消息都要登录。
🗂️ 合集与系列
UP 主的合集(season)与系列(series)—— 空间页那排 tab 背后的接口。
🎞️ 番剧与影视
番剧索引与播放地址走 pgc 前缀,鉴权和主站不完全一样:部分接口要登录 + 大会员。
🧰 签名与风控工具箱
主站体系要的三样东西:csrf(bili_jct)、wbi 签名(w_rid + wts)、设备指纹(buvid3/buvid4)。前两样 bili_web_call 自动处理。