Open n0099 opened 2 months ago
https://github.com/n0099/tbclient.protobuf/blame/12.51.7.1/proto/ThreadList/DataRes.proto#L18 可能12.50.1.1
起就有了
https://github.com/n0099/tbclient.protobuf/blame/12.51.7.1/proto/LayoutFactory.proto
https://github.com/n0099/tbclient.protobuf/blame/12.51.7.1/proto/FeedKV.proto 12.38.1.1
起疑似贴吧后端微服务
程序员试图在静态类型语言
中直接JsonSerializer.Serialize(KeyValuePair.Create("a", "1"))
之结果{"Key":"a","Value":"1"}
https://softwareengineering.stackexchange.com/questions/321534/what-json-structure-to-use-for-key-value-pairs
看上去似乎没什么影响
您做过兼容?
难道原本的thread_list
里的内容还会变少?
.thread_list
直接没了只有.page_data.feed_list[].feed.business_info
感觉对protobuf确实没啥影响
protobuf跟json都受到影响,我一直一来只发json而非protobuf encoding
只是为了直观对比(aka避免某些人看到满屏幕hex0x00
就tl;dr
已读不回
) https://github.com/Starry-OvO/aiotieba/issues/207#issuecomment-2226872200 除非您能不依赖于.proto
文件直接人脑decode protobuf encoding
二进制就像 https://github.com/pawitp/protobuf-decoder
json跟protobuf的确历史上有些结果不同,例如有个PbContent.proto
的type
(您称其fragment
https://github.com/Starry-OvO/aiotieba/issues/114#issuecomment-1515776671 而我忘了具体是哪个type
而且已经在当时清洗数据库
时把json便乘protobuf encoding
时正义削除了unknown field
https://protobuf.dev/reference/cpp/api-docs/google.protobuf.util.json_util/#JsonParseOptions https://stackoverflow.com/questions/75318533/how-to-serialize-protobuf-from-json-with-auto-ignoring-unknown-fields-in-c https://github.com/protocolbuffers/protobuf/issues/1389 )在21~22年
我偶遇到您并获悉存在protobuf版本response
后将tbm爬的接口从json版本response
换成protobuf之前会爬到一些不存在于PbContent.proto
的字段,但我目前并没有找到新出现的不一致
您为什么不亲自试试请求下这个接口的原神内鬼
吧呢?
算了反正您也像某PLT理论中级高手CS硕士
在工单系统kpi
精神指导下认定issue不就是拿来close的吗
https://github.com/Starry-OvO/aiotieba/issues?q=is:issue+is:closed 并在close后对其开启已读不回
模式正如同 https://z.n0099.net/#narrow/near/98064
等您以后需要爬这种灰度测试
用上了.thread_list[]
便乘.page_data.feed_list[].feed.business_info
的吧亦或贴吧带pm
继续扩大灰度范围
甚至应用于所有贴吧乃至所有_client_version
(从而导致第三方 https://github.com/Starry-OvO/aiotieba/issues/168 或远古版本客户端 https://github.com/n0099/tbclient.protobuf/issues/2 不可用(吧首页主题帖列表
接口显然是许多用户的主要入口所以即便其他接口没变也会造成不能用了
的第一印象)正如同此前的许多暗改 https://github.com/Starry-OvO/aiotieba/issues/64 )时再说吧,我现在也懒得兼容这种静态类型语言
996临时工serialize出来的{"Key":"a","Value":"1"}
而是直接大脑降级滚回12.64.1.1
https://github.com/n0099/open-tbm/commit/9782630e89252a657ca620ffce86ab4e74b71044
等影响到大客户再修吧,姑且把这个置个顶以备不时之需
大客户: @limuness
这下确实影响到大客户了,暂时留在12.64版本看看他们要怎么改