基于 Bilibili 动态 API 搭建免费图床
基于 Bilibili 动态 API 搭建免费图床
本文介绍一种利用 Bilibili 用户动态图片上传 API 搭建免费图床的方法。 该方案需要提供 SESSDATA
和 bli_jct
两个 Cookie 值。 获取方式如下:
获取 Bilibili Cookie (SESSDATA, bli_jct)
登录 Bilibili 网站。
按
F12
打开开发者工具控制台。在 “网络(Network)” 或 “应用程序(Application)” 选项卡中,找到包含
SESSDATA
和bli_jct
字段的 Cookie 信息,复制其值。
安装与配置
在线安装
打开 PicGo 详细窗口,选择 插件设置,搜索 bili 并安装。 安装完成后,无需重启应用即可使用。
离线安装
- 克隆项目代码仓库。
- 复制项目目录至以下路径:
- Windows:
%APPDATA%\picgo\
- Linux:
$XDG_CONFIG_HOME/picgo/
or~/.config/picgo/
- macOS:
~/Library/Application\ Support/picgo/
- Windows:
- 切换至新的目录,执行
npm install ./picgo-plugin-bilibili
命令。 - 重启 PicGo 应用。
图片样式
例如,原始图片链接为: https://i0.hdslb.com/bfs/face/d91ddc4a53daa5c83302ce77cbb3e746a5e0aafb.webp
可以通过添加参数来调整图片的尺寸和质量: https://i0.hdslb.com/bfs/face/d91ddc4a53daa5c83302ce77cbb3e746a5e0aafb.webp@14w_14h_1e_1c
类型 | URL |
---|---|
原始图片 | baseURL/1.webp |
原始分辨率,质量压缩 | baseURL/1.webp@1e_1c.webp |
规定宽度,高度自适应,质量压缩 | baseURL/1.webp@104w_1e_1c.webp |
规定高度,宽度自适应,质量压缩 | baseURL/1.webp@104h_1e_1c.webp |
规定高度宽度,质量压缩 | baseURL/1.webp@104w_104h_1e_1c.webp |
原始分辨率,webp格式(占用最小) | baseURL/1.webp@104w_104h_1e_1c.webp |
规定高度,webp格式(占用最小) | baseURL/1.webp@104w_104h_1e_1c.webp |
格式:(图像原链接)@(\d+[whsepqoc]_?)*(.(|webp|gif|png|jpg|jpeg))?$
参数说明:
- w:[1, 9223372036854775807] (width,图像宽度)
- h:[1, 9223372036854775807] (height,图像高度)
- s:[1, 9223372036854775807] (作用未知)
- e:[0,2] (resize,0:保留比例取其小,1:保留比例取其大,2:不保留原比例,不与c混用)
- p:[1,1000] (默认100,放大倍数,不与c混用)
- q:[1,100] (quality,默认75,图像质量)
- o:[0,1] (作用未知)
- c:[0,1] (clip,0:默认,1:裁剪)
- webp, png, jpeg, gif (不添加则保留原始格式)
- 参数不区分大小写,相同参数后定义的会覆盖先定义的参数。
- 计算后的实际
w * h
不能大于原始图片的w * h
, 否则w
和h
参数将失效。
解决 Bilibili 防盗链 (403) 问题
Bilibili 启用了防盗链机制,通过 HTTP Referer 属性进行判断。 如果 Referer 不在白名单内,服务器会返回 403 错误。
全站图片
在 HTML 的 <head>
标签中设置以下 meta 标签,阻止浏览器发送 Referer:
html
1 | <meta name="referrer" content="no-referrer"> |
该标准可能不被旧版本浏览器支持,可以使用以下代码,提供更好的兼容性:
plaintext
1 | HTML |
新窗口打开链接
主要设置 rel="noreferrer"
。 使用 window.open
打开链接默认会携带 Referer, 首次访问仍然会返回 403 错误。
plaintext
1 | HTML |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 zi4dbek的小站!
评论
TwikooGitalk