bilibili-API-collect/docs/misc/device_identity.html
2024-09-19 15:09:42 +00:00

55 lines
59 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<meta name="generator" content="VuePress 2.0.0-beta.67">
<style>
:root {
--c-bg: #fff;
}
html.dark {
--c-bg: #22272e;
}
html, body {
background-color: var(--c-bg);
}
</style>
<script>
const userMode = localStorage.getItem('vuepress-color-scheme');
const systemDarkMode = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches;
if (userMode === 'dark' || (userMode !== 'light' && systemDarkMode)) {
document.documentElement.classList.toggle('dark', true);
}
</script>
<link rel="icon" href="/logo2.jpg"><title>设备各类标识算法(APP 端) | BAC Document</title><meta name="description" content="社区开源的第三方哔哩哔哩 API 文档">
<link rel="preload" href="/bilibili-API-collect/assets/style-a7819745.css" as="style"><link rel="stylesheet" href="/bilibili-API-collect/assets/style-a7819745.css">
<link rel="modulepreload" href="/bilibili-API-collect/assets/app-6ef24849.js"><link rel="modulepreload" href="/bilibili-API-collect/assets/device_identity.html-754167b9.js"><link rel="modulepreload" href="/bilibili-API-collect/assets/device_identity.html-03e56caa.js"><link rel="prefetch" href="/bilibili-API-collect/assets/CONTRIBUTING.html-5d94bebf.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/index.html-0d1d246d.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/index.html-a1a3558c.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/splash.html-53855429.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/ver.html-b7ca0cfa.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/info.html-f7a47d1e.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/list.html-fecb6b5b.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/action.html-6c04cf4d.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/activity_list.html-b5ef105b.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/info.html-c42e4c4d.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/list.html-793787fd.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/recommend_author.html-3c1e94fe.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/action.html-ad3d1d10.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/articles.html-619e0082.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/category.html-c2e3b38d.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/info.html-0ee7d366.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/list.html-2e89a343.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/action.html-b93efa81.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/info.html-418558e4.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/music_list.html-02cb5f36.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/musicstream_url.html-0b86e281.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/rank.html-4e3c963c.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/status_number.html-3b1e7ab4.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/follow.html-c3918f68.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/info.html-c8498357.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/timeline.html-0a3a89de.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/videostream_url.html-ecea5d0c.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/banlist.html-66dae847.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/index.html-8ea2447b.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/video_room.html-6222ad7b.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/info.html-3698858a.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/videostream_url.html-0a0e9cbe.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/ip.html-298243ad.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/action.html-6aa7eeb7.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/list.html-2971c414.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/index.html-4a9bcc52.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/railgun.html-3eebb2b8.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/season.html-a8ef16a3.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/statistics_data.html-bb56dc74.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/upload.html-1fd73832.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/videos.html-6d040dc8.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/msg.html-4c0114f9.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/action.html-861bae92.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/buzzword.html-a8e3d82e.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/config.html-27430538.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/danmaku_proto.html-6ea771c0.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/danmaku_view_proto.html-9762318d.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/danmaku_xml.html-a2cff1ad.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/history.html-e040429f.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/snapshot.html-14943ed7.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/thumbup.html-6ff33710.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/webmask.html-cd2d5b20.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/action.html-01bc4d46.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/all.html-154d0518.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/atlist.html-fa32d23a.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/basicInfo.html-a98cd743.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/card_info.html-d39c91de.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/content.html-744ba654.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/detail.html-e0842ebd.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/dynamic_enum.html-faf3d743.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/get_dynamic_detail.html-2540d0b4.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/nav.html-ed72f33d.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/publish.html-d8d80fa5.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/space.html-9698dd19.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/tag_dynamics.html-5123e50e.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/topic.html-a5de20a4.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/Bcoin.html-d21d4767.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/WeChat_Alipay.html-bba849f5.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/charge_list.html-0163a41d.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/charge_msg.html-1b0e26da.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/monthly.html-2d7b3991.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/action.html-b9118deb.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/list.html-a87f31ef.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/action.html-f620e347.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/info.html-556f8b0b.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/list.html-b3a77f44.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/color.html-7899ab27.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/lottery.html-26f89263.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/skin.html-3e672649.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/history.html-95de220d.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/toview.html-98244225.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/follow_up_live.html-e585736a.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/info.html-d84481e4.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/live_area.html-ce157910.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/live_stream.html-b3d301d8.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/manage.html-eebfa53f.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/message_stream.html-748c2caf.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/redpocket.html-cdfefdfc.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/report.html-bbde5309.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/silent_user_manage.html-8048b3b2.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/user.html-c5c69524.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/cookie_refresh.html-89ab1a74.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/exit.html-7995bef8.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/login_info.html-36215953.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/login_notice.html-97e2098a.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/member_center.html-6f18a7bd.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/Activity.html-a923504a.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/ClockIn.html-36eccb71.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/Comic.html-9ee1e999.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/Download.html-d94bfad4.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/Season.html-e0471143.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/User.html-514e9117.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/index_file.html-b4d3d75b.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/light_card.html-8a7d5469.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/point_shop.html-40ba9a23.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/msg.html-4cf1c080.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/private_msg.html-634b92fa.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/b23tv.html-d6b87429.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/buvid3_4.html-f3f7f1a7.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/bvid_desc.html-b2719796.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/errcode.html-30388d7a.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/picture.html-f91aec82.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/time_stamp.html-e2fb6a61.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/action.html-a80f5e24.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/fetch.html-0a76fd10.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/info.html-0a88b4dc.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/action.html-24e14d87.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/info.html-3e528fa8.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/list.html-a602ffd3.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/index.html-bab316ab.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/hot.html-b03b462b.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/search_request.html-36282e12.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/search_response.html-1e3f68f3.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/suggest.html-dd957e1a.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/teenager_mode.html-a693181f.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/check_nickname.html-cdaa209d.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/contract.html-36410063.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/info.html-327a946d.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/medals.html-d0d88f47.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/official_role.html-7ca2f8f7.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/register.html-38064566.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/relation.html-27f5509d.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/space.html-54138a19.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/status_number.html-69cf8d68.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/action.html-c589c8dd.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/appeal.html-165e521c.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/attribute_data.html-0fdac87d.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/collection.html-9e323f66.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/info.html-ed1280ca.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/interact_video.html-440fac1d.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/online.html-400a48bb.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/pbp.html-01c4795b.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/player.html-cf523e40.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/recommend.html-17187d4f.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/report.html-6d528c1b.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/snapshot.html-07090ac3.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/status_number.html-67103aea.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/summary.html-1f6071ea.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/tags.html-07cf4faf.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/video_zone.html-57dc301a.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/videostream_url.html-c73eea90.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/dynamic.html-c7efbb1d.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/popular.html-2b3dbd59.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/precious_videos.html-5631067f.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/ranking.html-a8249ce4.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/action.html-e8f03a7c.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/center.html-64584776.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/clockin.html-a8dcfb3a.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/info.html-ad870103.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/info.html-42872bfc.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/404_manga.html-3728076c.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/header.html-46eb8c14.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/zone_upload.html-d796767f.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/action.html-3356cd3c.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/base_info.html-7d06d12f.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/judgement_info.html-1834630d.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/QR.html-bff1a326.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/SMS.html-60911019.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/password.html-dbfc4745.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/index.html-b057461c.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/APP.html-cb1b78f3.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/APPKey.html-0481e527.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/bili_ticket.html-adc31ae6.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/v_voucher.html-5f66a796.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/wbi.html-ba871bc6.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/404.html-f9875e7b.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/CONTRIBUTING.html-19670ea8.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/index.html-261c37ed.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/index.html-e68b9dc9.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/splash.html-71905361.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/ver.html-2ffce8ad.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/info.html-0a764c73.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/list.html-687daf6a.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/action.html-4164602a.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/activity_list.html-1cb576a2.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/info.html-6a0b2349.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/list.html-68b18c8a.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/recommend_author.html-b919da8b.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/action.html-069b4ea4.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/articles.html-430a34b9.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/category.html-19fa735b.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/info.html-0be3d133.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/list.html-781cb001.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/action.html-11cd239b.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/info.html-c0a70d0e.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/music_list.html-3c60e57d.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/musicstream_url.html-016ef8aa.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/rank.html-af1ba68b.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/status_number.html-f805b5e9.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/follow.html-9bf3544f.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/info.html-c2f576ca.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/timeline.html-8c66db02.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/videostream_url.html-640df94b.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/banlist.html-05adf0ad.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/index.html-b698ea1a.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/video_room.html-a8b9b53b.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/info.html-2a5b9b94.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/videostream_url.html-63bb0f4d.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/ip.html-33dd8fab.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/action.html-25baf975.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/list.html-5b79e405.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/index.html-86a0c324.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/railgun.html-ca80618d.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/season.html-13b61787.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/statistics_data.html-57850606.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/upload.html-0b7f7994.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/videos.html-c386445d.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/msg.html-b602b0a2.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/action.html-0e074778.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/buzzword.html-6ec7ac33.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/config.html-4328fbb7.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/danmaku_proto.html-e93ac7b7.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/danmaku_view_proto.html-e5590ac3.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/danmaku_xml.html-b7b87e33.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/history.html-b05685bc.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/snapshot.html-f79e1006.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/thumbup.html-44c392f7.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/webmask.html-f3b41d13.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/action.html-dc30086e.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/all.html-63c7a4cf.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/atlist.html-457dd457.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/basicInfo.html-0b8ad25b.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/card_info.html-c95484bd.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/content.html-8dfa7cc1.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/detail.html-39e1f195.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/dynamic_enum.html-becf485a.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/get_dynamic_detail.html-5ec31dca.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/nav.html-eccca967.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/publish.html-033cb008.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/space.html-d991ed58.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/tag_dynamics.html-d9af47f8.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/topic.html-626ec08e.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/Bcoin.html-2918dc80.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/WeChat_Alipay.html-7bdd8cdd.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/charge_list.html-d3b218ae.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/charge_msg.html-d5818bcc.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/monthly.html-0bbb2e6e.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/action.html-38b2d36e.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/list.html-85917b37.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/action.html-b29bd5fa.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/info.html-6ac3f9f7.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/list.html-a0c73fb1.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/color.html-111de15f.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/lottery.html-62b32365.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/skin.html-701d1b57.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/history.html-6eab148a.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/toview.html-a2ad6456.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/follow_up_live.html-4d0710ec.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/info.html-c210a127.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/live_area.html-57477de8.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/live_stream.html-16a59831.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/manage.html-7f7fc93e.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/message_stream.html-bab41572.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/redpocket.html-d5f2ea6c.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/report.html-3da8d09c.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/silent_user_manage.html-04ef07f6.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/user.html-e060ee29.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/cookie_refresh.html-6a6955be.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/exit.html-9d377a6b.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/login_info.html-c294222e.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/login_notice.html-f8928f72.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/member_center.html-98af8a4e.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/Activity.html-6c1589b8.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/ClockIn.html-25c6e8c7.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/Comic.html-8c29f374.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/Download.html-65acf8eb.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/Season.html-a16783a7.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/User.html-9040e061.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/index_file.html-014b00c3.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/light_card.html-7b08a9a0.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/point_shop.html-e4af3c21.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/msg.html-6a7be364.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/private_msg.html-0da00e1a.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/b23tv.html-a2c5b14c.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/buvid3_4.html-e06ed8a8.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/bvid_desc.html-60190ed3.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/errcode.html-f01d3bae.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/picture.html-5a47a415.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/time_stamp.html-7d9a5579.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/action.html-2f616681.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/fetch.html-375f0071.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/info.html-3bccf812.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/action.html-88b0d381.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/info.html-840c55ea.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/list.html-d217f4ab.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/index.html-e87e07b7.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/hot.html-1ac33c2f.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/search_request.html-958af6ff.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/search_response.html-5a6f15f0.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/suggest.html-ff9a929a.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/teenager_mode.html-fd28bdbf.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/check_nickname.html-07d4f382.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/contract.html-4be3cb24.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/info.html-8aaa01ba.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/medals.html-6c4c484b.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/official_role.html-1365bfa6.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/register.html-0d1b9c87.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/relation.html-e9bb6051.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/space.html-680a2998.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/status_number.html-b1b6773c.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/action.html-a8a90285.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/appeal.html-11ee23c2.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/attribute_data.html-376cf3ad.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/collection.html-c0924ff4.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/info.html-4e5dc902.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/interact_video.html-4b32d8e6.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/online.html-e0ea4059.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/pbp.html-69c9256d.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/player.html-4c362013.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/recommend.html-7471841e.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/report.html-796330e2.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/snapshot.html-56999aae.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/status_number.html-2fee2c51.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/summary.html-6dedcd7c.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/tags.html-6132f5dd.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/video_zone.html-30e81a16.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/videostream_url.html-e27eb823.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/dynamic.html-8a1c8f62.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/popular.html-7b2c2b78.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/precious_videos.html-f7687920.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/ranking.html-6bb7a367.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/action.html-84c38f6d.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/center.html-11c78581.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/clockin.html-5b3971a7.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/info.html-8105a153.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/info.html-42332da2.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/404_manga.html-89413b7e.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/header.html-eb37b681.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/zone_upload.html-bb1ca54c.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/action.html-6fe9138c.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/base_info.html-d5421759.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/judgement_info.html-45d9f8d5.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/QR.html-d408a2e8.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/SMS.html-2e1b1f9e.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/password.html-45111099.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/index.html-f10d7a1f.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/APP.html-a9ba4547.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/APPKey.html-63b21186.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/bili_ticket.html-c2568e47.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/v_voucher.html-2cdbc55c.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/wbi.html-e0debd0b.js" as="script"><link rel="prefetch" href="/bilibili-API-collect/assets/404.html-41a745c4.js" as="script">
</head>
<body>
<div id="app"><!--[--><div class="theme-container"><!--[--><header class="navbar"><div class="toggle-sidebar-button" title="toggle sidebar" aria-expanded="false" role="button" tabindex="0"><div class="icon" aria-hidden="true"><span></span><span></span><span></span></div></div><span><a href="/bilibili-API-collect/" class=""><img class="logo" src="/bilibili-API-collect/logo2.jpg" alt="BAC Document"><span class="site-name can-hide">BAC Document</span></a></span><div class="navbar-items-wrapper" style=""><!--[--><!--]--><nav class="navbar-items can-hide"><!--[--><div class="navbar-item"><a href="/bilibili-API-collect/" class="" aria-label="首页"><!--[--><!--]--> 首页 <!--[--><!--]--></a></div><div class="navbar-item"><a href="/bilibili-API-collect/#🍴目录" class="" aria-label="目录"><!--[--><!--]--> 目录 <!--[--><!--]--></a></div><div class="navbar-item"><a href="/bilibili-API-collect/CONTRIBUTING.html" class="" aria-label="贡献指南"><!--[--><!--]--> 贡献指南 <!--[--><!--]--></a></div><div class="navbar-item"><div class="navbar-dropdown-wrapper"><button class="navbar-dropdown-title" type="button" aria-label="相关社群"><span class="title">相关社群</span><span class="arrow down"></span></button><button class="navbar-dropdown-title-mobile" type="button" aria-label="相关社群"><span class="title">相关社群</span><span class="right arrow"></span></button><ul style="display:none;" class="navbar-dropdown"><!--[--><li class="navbar-dropdown-item"><a class="external-link" href="http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&amp;k=ympvb3LAPT-Ulu3ezhGqbkJ8zXMKImOX&amp;authKey=z1KdkOdKO3wytN43m9K6On9nBtnDL4pAoD6VQHCipFBb9TasNDKuDHCmOE6TF3uc&amp;noverify=0&amp;group_code=191187164" rel="noopener noreferrer" target="_blank" aria-label="QQ交流群综合技术交流"><!--[--><!--]--> QQ交流群综合技术交流 <span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span><!--[--><!--]--></a></li><li class="navbar-dropdown-item"><a class="external-link" href="https://t.me/bilibili_API_collect_community" rel="noopener noreferrer" target="_blank" aria-label="Telegram交流群Github Bot推送"><!--[--><!--]--> Telegram交流群Github Bot推送 <span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span><!--[--><!--]--></a></li><!--]--></ul></div></div><div class="navbar-item"><a class="external-link" href="https://github.com/SocialSisterYi/bilibili-API-collect" rel="noopener noreferrer" target="_blank" aria-label="GitHub"><!--[--><!--]--> GitHub <span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span><!--[--><!--]--></a></div><!--]--></nav><!--[--><!--]--><button class="toggle-color-mode-button" title="toggle color mode"><svg style="" class="icon" focusable="false" viewBox="0 0 32 32"><path d="M16 12.005a4 4 0 1 1-4 4a4.005 4.005 0 0 1 4-4m0-2a6 6 0 1 0 6 6a6 6 0 0 0-6-6z" fill="currentColor"></path><path d="M5.394 6.813l1.414-1.415l3.506 3.506L8.9 10.318z" fill="currentColor"></path><path d="M2 15.005h5v2H2z" fill="currentColor"></path><path d="M5.394 25.197L8.9 21.691l1.414 1.415l-3.506 3.505z" fill="currentColor"></path><path d="M15 25.005h2v5h-2z" fill="currentColor"></path><path d="M21.687 23.106l1.414-1.415l3.506 3.506l-1.414 1.414z" fill="currentColor"></path><path d="M25 15.005h5v2h-5z" fill="currentColor"></path><path d="M21.687 8.904l3.506-3.506l1.414 1.415l-3.506 3.505z" fill="currentColor"></path><path d="M15 2.005h2v5h-2z" fill="currentColor"></path></svg><svg style="display:none;" class="icon" focusable="false" viewBox="0 0 32 32"><path d="M13.502 5.414a15.075 15.075 0 0 0 11.594 18.194a11.113 11.113 0 0 1-7.975 3.39c-.138 0-.278.005-.418 0a11.094 11.094 0 0 1-3.2-21.584M14.98 3a1.002 1.002 0 0 0-.175.016a13.096 13.096 0 0 0 1.825 25.981c.164.006.328 0 .49 0a13.072 13.072 0 0 0 10.703-5.555a1.01 1.01 0 0 0-.783-1.565A13.08 13.08 0 0 1 15.89 4.38A1.015 1.015 0 0 0 14.98 3z" fill="currentColor"></path></svg></button><form class="search-box" role="search"><input type="search" autocomplete="off" spellcheck="false" value><!----></form></div></header><!--]--><div class="sidebar-mask"></div><!--[--><aside class="sidebar"><nav class="navbar-items"><!--[--><div class="navbar-item"><a href="/bilibili-API-collect/" class="" aria-label="首页"><!--[--><!--]--> 首页 <!--[--><!--]--></a></div><div class="navbar-item"><a href="/bilibili-API-collect/#🍴目录" class="" aria-label="目录"><!--[--><!--]--> 目录 <!--[--><!--]--></a></div><div class="navbar-item"><a href="/bilibili-API-collect/CONTRIBUTING.html" class="" aria-label="贡献指南"><!--[--><!--]--> 贡献指南 <!--[--><!--]--></a></div><div class="navbar-item"><div class="navbar-dropdown-wrapper"><button class="navbar-dropdown-title" type="button" aria-label="相关社群"><span class="title">相关社群</span><span class="arrow down"></span></button><button class="navbar-dropdown-title-mobile" type="button" aria-label="相关社群"><span class="title">相关社群</span><span class="right arrow"></span></button><ul style="display:none;" class="navbar-dropdown"><!--[--><li class="navbar-dropdown-item"><a class="external-link" href="http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&amp;k=ympvb3LAPT-Ulu3ezhGqbkJ8zXMKImOX&amp;authKey=z1KdkOdKO3wytN43m9K6On9nBtnDL4pAoD6VQHCipFBb9TasNDKuDHCmOE6TF3uc&amp;noverify=0&amp;group_code=191187164" rel="noopener noreferrer" target="_blank" aria-label="QQ交流群综合技术交流"><!--[--><!--]--> QQ交流群综合技术交流 <span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span><!--[--><!--]--></a></li><li class="navbar-dropdown-item"><a class="external-link" href="https://t.me/bilibili_API_collect_community" rel="noopener noreferrer" target="_blank" aria-label="Telegram交流群Github Bot推送"><!--[--><!--]--> Telegram交流群Github Bot推送 <span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span><!--[--><!--]--></a></li><!--]--></ul></div></div><div class="navbar-item"><a class="external-link" href="https://github.com/SocialSisterYi/bilibili-API-collect" rel="noopener noreferrer" target="_blank" aria-label="GitHub"><!--[--><!--]--> GitHub <span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span><!--[--><!--]--></a></div><!--]--></nav><!--[--><!--]--><ul class="sidebar-items"><!--[--><li><p tabindex="0" class="sidebar-item sidebar-heading">设备各类标识算法(APP 端) <!----></p><ul style="" class="sidebar-item-children"><!--[--><li><a aria-current="page" href="/bilibili-API-collect/docs/misc/device_identity.html#设备唯一标识-buvid" class="router-link-active router-link-exact-active sidebar-item" aria-label="设备唯一标识 BUVID"><!--[--><!--]--> 设备唯一标识 BUVID <!--[--><!--]--></a><ul style="" class="sidebar-item-children"><!--[--><li><a aria-current="page" href="/bilibili-API-collect/docs/misc/device_identity.html#生成方法" class="router-link-active router-link-exact-active sidebar-item" aria-label="生成方法"><!--[--><!--]--> 生成方法 <!--[--><!--]--></a><!----></li><li><a aria-current="page" href="/bilibili-API-collect/docs/misc/device_identity.html#demo" class="router-link-active router-link-exact-active sidebar-item" aria-label="Demo"><!--[--><!--]--> Demo <!--[--><!--]--></a><!----></li><!--]--></ul></li><li><a aria-current="page" href="/bilibili-API-collect/docs/misc/device_identity.html#设备指纹-fp-fp-local-fp-remote" class="router-link-active router-link-exact-active sidebar-item" aria-label="设备指纹 fp (fp_local, fp_remote)"><!--[--><!--]--> 设备指纹 fp (fp_local, fp_remote) <!--[--><!--]--></a><ul style="" class="sidebar-item-children"><!--[--><li><a aria-current="page" href="/bilibili-API-collect/docs/misc/device_identity.html#生成方法-1" class="router-link-active router-link-exact-active sidebar-item" aria-label="生成方法"><!--[--><!--]--> 生成方法 <!--[--><!--]--></a><!----></li><li><a aria-current="page" href="/bilibili-API-collect/docs/misc/device_identity.html#demo-1" class="router-link-active router-link-exact-active sidebar-item" aria-label="Demo"><!--[--><!--]--> Demo <!--[--><!--]--></a><!----></li><!--]--></ul></li><li><a aria-current="page" href="/bilibili-API-collect/docs/misc/device_identity.html#附录" class="router-link-active router-link-exact-active sidebar-item" aria-label="附录"><!--[--><!--]--> 附录 <!--[--><!--]--></a><ul style="" class="sidebar-item-children"><!--[--><li><a aria-current="page" href="/bilibili-API-collect/docs/misc/device_identity.html#buvid-prefix" class="router-link-active router-link-exact-active sidebar-item" aria-label="BUVID Prefix"><!--[--><!--]--> BUVID Prefix <!--[--><!--]--></a><!----></li><!--]--></ul></li><!--]--></ul></li><!--]--></ul><!--[--><!--]--></aside><!--]--><!--[--><main class="page"><!--[--><!--]--><div class="theme-default-content"><!--[--><!--]--><div><h1 id="设备各类标识算法-app-端" tabindex="-1"><a class="header-anchor" href="#设备各类标识算法-app-端" aria-hidden="true">#</a> 设备各类标识算法(APP 端)</h1><h2 id="设备唯一标识-buvid" tabindex="-1"><a class="header-anchor" href="#设备唯一标识-buvid" aria-hidden="true">#</a> 设备唯一标识 BUVID</h2><p>注意区分于 Web 端的 <a href="/bilibili-API-collect/docs/misc/buvid3_4.html" class="">buvid3, buvid4</a>.</p><p>BUVID 在 APP 首次安装于某设备, 且首次启动时生成.</p><p>APP 首次(即每次安装后)启动, 会向云端发送本机各类设备特征, 含 <code>AndroidId</code>, <code>DrmId</code> 等, 请求是否有匹配的 BUVID, 有就使用云端的, 否则使用本地生成的.</p><p>APP 请求是否有匹配的 BUVID 发送的本机各类设备特征包括(但不限于):</p><ul><li><code>AndroidID</code></li><li><code>DrmId</code></li><li><code>IMEI</code></li><li><code>OAID</code></li><li>手机网卡 <code>MAC</code></li><li>设备品牌</li><li>设备 Model</li><li>本地生成的 BUVID</li></ul><h3 id="生成方法" tabindex="-1"><a class="header-anchor" href="#生成方法" aria-hidden="true">#</a> 生成方法</h3><ol><li><p>选定设备特征码, 可以是 <code>AndroidID</code>, <code>DrmId</code>, 手机网卡 <code>MAC</code> 等. 记为 <code>ID</code>. 特别地, <code>MAC</code> 应当去掉 <code>:</code>, <code>GUID</code>(即 UUID) 应当去掉 <code>-</code>.</p></li><li><p>计算 <code>ID</code> 的 MD5. 记为 <code>ID_MD5</code>.</p></li><li><p><code>ID_MD5</code> 抽取第 3, 13, 23 位, 失败就默认为 000, 记为 <code>ID_E</code>.</p></li><li><p>根据选定的设备特征码类型确定 BUVID Prefix, 见附录. 记为 <code>BUVID_Prefix</code>.</p></li><li><p><code>{BUVID_Prefix}{ID_E}{ID_MD5}</code> 的顺序连接起来, 共37位(2+3+32). 结果应当为大写.</p></li></ol><h3 id="demo" tabindex="-1"><a class="header-anchor" href="#demo" aria-hidden="true">#</a> Demo</h3><h4 id="rust" tabindex="-1"><a class="header-anchor" href="#rust" aria-hidden="true">#</a> Rust</h4><p>代码及测试样例见 <a href="https://play.rust-lang.org/?version=stable&amp;mode=debug&amp;edition=2021&amp;gist=40b5906cf3838a60efa83fa368b15147" target="_blank" rel="noopener noreferrer">Rust Playground<span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span></a>.</p><h2 id="设备指纹-fp-fp-local-fp-remote" tabindex="-1"><a class="header-anchor" href="#设备指纹-fp-fp-local-fp-remote" aria-hidden="true">#</a> 设备指纹 fp (fp_local, fp_remote)</h2><p>用于请求账户相关 REST API, 及 gRPC Metadata 生成.</p><p>在请求头中, <code>fp_local</code><code>fp_remote</code> 设置为同一值即可, 暂不清楚区别.</p><h3 id="生成方法-1" tabindex="-1"><a class="header-anchor" href="#生成方法-1" aria-hidden="true">#</a> 生成方法</h3><ol><li><p>获取 BUVID. 此处一般使用 XU Prefix 的 BUVID.</p></li><li><p>获取设备 Model(<code>Build.MODEL</code>), 如 <code>NOH-AN01</code>.</p></li><li><p>获取手机无线电固件版本号(<code>Build.getRadioVersion()</code>), 失败则留空. 如 <code>21C20B686S000C000,21C20B686S000C000</code>.</p></li><li><p>按前述顺序拼接字符串, 计算得 MD5.</p></li><li><p>获取年月日, 格式 <code>yyyyMMddhhmmss</code>, 拼接到 4 得到的字符串后.</p></li><li><p>生成 16 位随机字符串, CharSet 为 <code>0123456789abcdef</code>, 拼接到 5 得到的字符串后, 记为 <code>fp_raw</code>.</p></li><li><p>计算得到一个特殊字符串, 拼接到 <code>fp_raw</code> 后, 即得到最终的 <code>fp</code>, 特殊字符串算法见下:</p></li></ol><div class="language-rust line-numbers-mode" data-ext="rs"><pre class="language-rust"><code><span class="token keyword">let</span> <span class="token keyword">mut</span> veri_code <span class="token operator">=</span> <span class="token number">0</span><span class="token punctuation">;</span>
<span class="token comment">// 有点像 HEX 的操作</span>
<span class="token keyword">let</span> fp_raw_sub_str <span class="token operator">=</span> fp_raw
<span class="token punctuation">.</span><span class="token function">as_bytes</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token comment">// 将字符串 fp_raw 转换为字节数组</span>
<span class="token punctuation">.</span><span class="token function">chunks</span><span class="token punctuation">(</span><span class="token number">2</span><span class="token punctuation">)</span> <span class="token comment">// 按每两个字节一组进行切分</span>
<span class="token punctuation">.</span><span class="token function">map</span><span class="token punctuation">(</span><span class="token closure-params"><span class="token closure-punctuation punctuation">|</span>s<span class="token closure-punctuation punctuation">|</span></span> <span class="token keyword">unsafe</span> <span class="token punctuation">{</span> <span class="token punctuation">::</span><span class="token namespace">std<span class="token punctuation">::</span></span><span class="token keyword">str</span><span class="token punctuation">::</span><span class="token function">from_utf8_unchecked</span><span class="token punctuation">(</span>s<span class="token punctuation">)</span> <span class="token punctuation">}</span><span class="token punctuation">)</span> <span class="token comment">// 对每一组解析作为 UTF-8 字符串</span>
<span class="token punctuation">.</span><span class="token function">collect</span><span class="token punctuation">::</span><span class="token operator">&lt;</span><span class="token class-name">Vec</span><span class="token operator">&lt;</span>_<span class="token operator">&gt;&gt;</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// 将结果收集到 Vec 中</span>
<span class="token comment">// 如果 fp_raw 的长度小于 62, 则向下取偶数减半作为循环终止条件, 否则终止条件为31</span>
<span class="token keyword">for</span> i <span class="token keyword">in</span> <span class="token number">0</span><span class="token punctuation">..</span><span class="token punctuation">(</span><span class="token punctuation">{</span>
<span class="token keyword">if</span> fp_raw<span class="token punctuation">.</span><span class="token function">len</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token operator">&lt;</span> <span class="token number">62</span> <span class="token punctuation">{</span>
fp_raw<span class="token punctuation">.</span><span class="token function">len</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token operator">-</span> fp_raw<span class="token punctuation">.</span><span class="token function">len</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token operator">%</span> <span class="token number">2</span> <span class="token comment">// 取偶数</span>
<span class="token punctuation">}</span> <span class="token keyword">else</span> <span class="token punctuation">{</span>
<span class="token number">62</span>
<span class="token punctuation">}</span>
<span class="token punctuation">}</span> <span class="token operator">/</span> <span class="token number">2</span><span class="token punctuation">)</span>
<span class="token punctuation">{</span>
<span class="token comment">// 将每组字符串转换为对应的 16 进制整数, 将转换得到的整数加到 veri_code 上. </span>
veri_code <span class="token operator">+=</span> <span class="token keyword">i32</span><span class="token punctuation">::</span><span class="token function">from_str_radix</span><span class="token punctuation">(</span>fp_raw_sub_str<span class="token punctuation">[</span>i<span class="token punctuation">]</span><span class="token punctuation">,</span> <span class="token number">16</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">unwrap_or</span><span class="token punctuation">(</span><span class="token number">0</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token comment">// 最后将 veri_code 对 256 取余, 格式化为两位的 16 进制字符串</span>
<span class="token keyword">let</span> veri_code <span class="token operator">=</span> <span class="token macro property">format!</span><span class="token punctuation">(</span><span class="token string">&quot;{:0&gt;2x}&quot;</span><span class="token punctuation">,</span> veri_code <span class="token operator">%</span> <span class="token number">256</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="demo-1" tabindex="-1"><a class="header-anchor" href="#demo-1" aria-hidden="true">#</a> Demo</h3><h4 id="rust-1" tabindex="-1"><a class="header-anchor" href="#rust-1" aria-hidden="true">#</a> Rust</h4><p>代码及测试样例见 <a href="https://play.rust-lang.org/?version=stable&amp;mode=debug&amp;edition=2021&amp;gist=40b5906cf3838a60efa83fa368b15147" target="_blank" rel="noopener noreferrer">Rust Playground<span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span></a>.</p><h2 id="附录" tabindex="-1"><a class="header-anchor" href="#附录" aria-hidden="true">#</a> 附录</h2><h3 id="buvid-prefix" tabindex="-1"><a class="header-anchor" href="#buvid-prefix" aria-hidden="true">#</a> BUVID Prefix</h3><table><thead><tr><th style="text-align:center;">设备特征码</th><th style="text-align:center;">BUVID Prefix</th><th style="text-align:center;">备注</th></tr></thead><tbody><tr><td style="text-align:center;"><code>AndroidID</code></td><td style="text-align:center;"><code>XX</code></td><td style="text-align:center;"></td></tr><tr><td style="text-align:center;"><code>DrmId</code></td><td style="text-align:center;"><code>XU</code></td><td style="text-align:center;"></td></tr><tr><td style="text-align:center;"><code>IMEI</code></td><td style="text-align:center;"><code>XZ</code></td><td style="text-align:center;">已弃用</td></tr><tr><td style="text-align:center;"><code>GUID</code></td><td style="text-align:center;"><code>XW</code></td><td style="text-align:center;">已弃用</td></tr><tr><td style="text-align:center;"><code>MAC</code></td><td style="text-align:center;"><code>XY</code></td><td style="text-align:center;"></td></tr><tr><td style="text-align:center;"><code>GoogleId</code></td><td style="text-align:center;"><code>XG</code></td><td style="text-align:center;">东南亚版本</td></tr><tr><td style="text-align:center;"><code>FacebookId</code></td><td style="text-align:center;"><code>XF</code></td><td style="text-align:center;">东南亚版本</td></tr></tbody></table></div><!--[--><!--]--></div><footer class="page-meta"><div class="meta-item edit-link"><a class="external-link meta-item-label" href="https://github.com/SocialSisterYi/bilibili-API-collect/edit/master/docs/misc/device_identity.md" rel="noopener noreferrer" target="_blank" aria-label="在 GitHub 上编辑此页"><!--[--><!--]--> 在 GitHub 上编辑此页 <span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span><!--[--><!--]--></a></div><!----><!----></footer><!----><!--[--><!--[--><footer style="text-align:center;"> Copyright © 2020-2024 <a href="https://github.com/SocialSisterYi/">SocialSisterYi</a> | <a href="https://github.com/SocialSisterYi/bilibili-API-collect/blob/master/LICENSE">CC-BY-NC-4.0 Licensed</a></footer><!--]--><!--]--></main><!--]--></div><!----><!--]--></div>
<script type="module" src="/bilibili-API-collect/assets/app-6ef24849.js" defer></script>
</body>
</html>