New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
WBI 签名相关问题 #919
Comments
这个能贴一下列出个列表吗?没发现 |
例如 |
想问一下得出的wts和w_rid在使用的时候都是返回403,权限不足,想问一下这大概是什么问题 |
NO CODE NO FIX |
不清楚, 看官方用的哪个, 不排除就是区分拿来识别爬虫增大爬虫成本的. 我测试请求量不大也没有时间规律, 没遇到被风控. 推荐阅读: 爬虫与反爬-接口安全的风控介绍 by 哔哩哔哩技术 总之, 你的请求和官方越相像, 被风控的几率越低, 如何权衡逆向成本和被风控, 自己考虑. 网页端收集设备指纹算少的, APP 端搜集设备信息更猛, 而且 |
贡献一个 Dart 语言 Demo,若有写的不好的地方希望各位前辈指教。 https://gist.github.com/intzaaa/84410e7a6f470889017c8885d1a12a7a dart run lib/wbi.dart "https://api.bilibili.com/x/web-interface/wbi/search/default?w_rid=43e90d4b8069036c02776f4fadec98a6&wts=1703843266"
wts=1703843266&w_rid=43e90d4b8069036c02776f4fadec98a6 |
pr 一份加进去吧? |
虽然但是, 我个人认为这 demo 如果没人维护加进 docs 里没什么意义, 我的建议是 demo 发在 discussions 里面, 供初学者参考而已. |
emmm,已经加进去的都有人维护吗,呆 |
没有啊, 得看贡献那个 demo 的有没有空 update. Rust 的我可以持续更新, 毕竟我天天用. |
那还不如加进去...加了还看得到不会埋了,有人看到可能还有别人更 |
那个wbi的python实例要不要把ua加进去 |
ua 又不在 params,和 wbi 没关系吧 |
但是示例不能直接用有点怪(划掉) |
刚才测试了一下,python已经无法获取到了 |
js的还能用 按理说这个算法跟语言应该无关的 |
我也遇到了。Java RestTemplate+cookie返回403,不加cookie返回352,curl+user-agent正常返回。 |
|
java签名函数有问题?
本地计算wbi签名:554a526ec8343507a6fe89e3887bb623 |
WBI 签名算法以我发的 Rust example 为准, 文档内的可能过时. 应该是是文档内示例问题, 我测试没问题.
等我有空看看, 或者你自己逆向一下 js. 我知道的都写出来了. |
Show your code example |
https://github.com/BTMuli/TeyvatGuide/blob/master/src/pages/common/Test.vue |
我建议你好好看看我的说明 WBI 签名是咋弄的, 你都用 tauri 了, 业务代码为什么不全扔 Rust 里面, 又不是热点路径. |
mixin_key 的获取我测过样例的数据,是没问题的,在之后的按着流程可能有理解上的差异,我明天再研究研究😣 |
可以试着参考下我那个例子?Dart 和 JavaScript 很相似,你应该可以看懂? |
我会了( ̄▽ ̄)" BTMuli/TGAssistant@f989d71 |
今天测试发现, 唯独这个接口需要携带cookie请求, 前两天用的cookie过期了没注意xd x
这是调用的相关代码
|
想问一下,我想获取视频的AI总结,通过的api接口是https://api.bilibili.com/x/web-interface/view/conclusion/get,使用的生成wts和w_rid的方法是在WBI鉴定中给出的python代码,但是使用的时候都是返回403,权限不足,我的代码如下
但是我运行AI Summary当中的例子就可以正常获得总结,想问一下怎么回事,麻烦各位大佬了 |
java签名要把URLUtil.encode 换成 URLUtil.encodeAll,要不然有的参数有:冒号,不会进行url编码 |
我今天在抓取评论区的数据用的python也报了403 error,具体api是这个https://api.bilibili.com/x/v2/reply/wbi/main。我找到了b站网页自己发起的请求去测试了一下,用那里面的param和wts死活凑不出它那个w_rid。有点不知道该怎么办。 以及生成评论区的js代码里包含了这个 |
See here for func which converts BASIC_WBI_KEYS into normal one:
EXAMPLE: Such convertion may NOT be enabled., now still using the public one: |
刻意地语言隔阂似乎与开源软件和自由软件之精神相悖 |
|
理解。感谢你会这么善意地回复我,相信你这么做是经过你的深思熟虑的。👍 |
如果有相同意义,那么是否说明 |
应该是一致的
有效期不清楚,蛮久没见到img_key和sub_key有变化。是的。 做这个 WBI 签名大抵是提高第三方 API 调用的难度罢了,通过实时去替换 img_key, sub_key 来识别非官方的访问,不过前提是得有刷新这两个key的方法。通过API刷新?那就没啥意义。写死在代码里?那就更新不及时。 bili_ticket 纯粹是上传设备信息后发放一个jwt,表示当前设备已经验证过。如果遇到官方认为设备异常就会进一步搜集设备各种指纹信息然后上传,这些都在native层实现,很难对抗。 虽然吧黑产该有还是少不了。 |
由于 Bilibili 在网页端引入的 WBI 风控鉴权目前并未彻底成熟, 特开此 Issue 追踪最新进展, 有最新发现还请各位发在评论区及时补充~
Since the WBI signing for risk control introduced by Bilibili is not yet fully deployed, this Issue is specially opened to track the latest progress. If you have the latest findings, please post them in the comment area in time~
算法实现 | Sign Algorithm
Caution
文档内示例不能及时更新, 勿盲目照搬.
Examples may be out of date. DO NOT JUST COPY THEM
bilibili-API-collect/docs/misc/sign/wbi.md
Lines 17 to 120 in 547f07e
Rust EXAMPLE: Rust Playground
已经或等待确认的常见问题 | FAQ
wbi
字样data
只包含v_voucher
之类的内容)img_key
,sub_key
(可能被硬编码在 js 文件内), 而不是 nav 接口拿到的img_key
,sub_key
获得的w_rid
均有效w_ks
(未实装)Last Updated: 2023/12/26 12:43
The text was updated successfully, but these errors were encountered: