抖音web端私信protobuf 初识

因之前没有接触过protobuf故此查阅了很多相关的材料,大致了解了相关的过程,那总得实践一下吧,随便找了涉及相关知识的用以来验证。
发现抖音web端在私信方面涉及到这方面的知识,那我们就开始验证下所学的只是是否正确吧。

通过抓包发现竟然是走的ws的协议,这可真麻烦,有没有一种什么方式可以实现比较便捷的方式呢,经过一番倒腾发现他有应急协议,二话不说直接开干。下方是返回的protobuf信息。

在这里插入图片描述

  • 一、我们先保存到本地的文件取名:1.bin
  • 二、安装protobuf,这个自行百度,一堆的教程
  • 三、识别protobuf看是否是完整的文件
CMD运行如下命令:
protoc --decode_raw < C:\1.bin
1: 100
2: 10013
3: "0.4.1"
4: ""
5: 3
6: 0
7: "7747f9e:master"
8 {
  100 {
    1 {
      6: 58
      6: 0x333630393930353a
      7: 0x333436363a353534
      6: 52
      6: 0x35383338
    }
    2: 1
    3: 6652201397120991746
    4: "{\"mention_users\":[],\"aweType\":700,\"richTextInfos\":[],\"text\":\"1111\"}"
    5 {
      1: "s:mentioned_users"
      2: ""
    }
    5 {
      1: "s:client_message_id"
      2: "15fc194e-d542-47c1-8dc1-47494xxx9"
//局部省略
  • 四、这样是不是清晰多了呢,那么接下来我们就需要编写proto文件啦 直接照着结构编写就可以了
syntax = "proto3";

message Request {
    int32 cmd = 9;
    int32 id = 2;
    string version = 3;
}
  • 五、接下来就是生成对应语言的proto代码
python3 -m grpc_tools.protoc -I./ --python_out=. --grpc_python_out=. ./helloworld.proto
//代码含义这边不做过多的解释,自行百度
  • 六、调用代码并构建参数(照着上面的抄就可以)来校验生成的proto是否正确
    request.cmd = cmd
    request.id = id
    request.version = "0.4.1"
  • 七、获取相关的messageid,这边仅仅是校验proto的准确性就不去再写出如何获取messageid,成功发出。至此就可以愉快的调用与编写proto。初识proto,写的不好勿喷。

总结

解析原始文件,编写proto文件,生成proto的对应的语言代码,引入代码,根据原始文件的结构拼装proto数据结构,生成proto的数据,最后提交测试。

  • 2
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值