当前位置: 首页 > news >正文

网站标题如何设置青岛海西建设集团官方网站

网站标题如何设置,青岛海西建设集团官方网站,有域名 有主机 怎么建设网站,网站窗口建设系列文章目录 训练地址#xff1a;https://www.qiulianmao.com 基础-websocket逆向基础-http拦截基础-websocket拦截基础-base64编码与解码基础-protobuf序列化与反序列化视频号直播弹幕采集实战一#xff1a;Http轮询更新中 websocket逆向-protobuf序列化与反序列化基础 系…系列文章目录 训练地址https://www.qiulianmao.com 基础-websocket逆向基础-http拦截基础-websocket拦截基础-base64编码与解码基础-protobuf序列化与反序列化视频号直播弹幕采集实战一Http轮询更新中 websocket逆向-protobuf序列化与反序列化基础 系列文章目录一、基础知识1. 序列化与反序列化2. 常见的数据格式3. 什么是protobuf 二、如何判断网站使用了protobuf1. 通过响应进行分析2. 通过请求头进行分析3. 分析js 三、protobuf的序列化与反序列化1. 环境配置【python】2.定义proto结构3. 编译 .proto 文件4. 序列化5. 反序列化 四、总结 一、基础知识 1. 序列化与反序列化 序列化就是将明文转化成字节序列的过程、方便传输。反序列化就是将字节序列转化成明文的过程、方便使用。服务器【明文序列化为二进制】-------传输------ 客户端【二进制反序列化为明文】 2. 常见的数据格式 文本化协议jsonxml。可视化效果好便于维护。开源协议protobuferjson。有现成的序列化与反序列化库都是经过长期检验的。自定义的二进制数据自行定义序列化与反序列化规则自由度高应用范围不广。 3. 什么是protobuf protobuf是二进制数据序列化协议。优点比json、xml等体积小、传输快。特点序列化与反序列化需要借助proto文件。像结构体、有顺序、有string、int32、bool、bytes等数据类型。 二、如何判断网站使用了protobuf 1. 通过响应进行分析 请求响应是二进制的抓包工具显示为乱码。 2. 通过请求头进行分析 在请求标头或者url地址参数中出现protobuf关键字 3. 分析js js中出现123这样的顺序出现stringint64bytes…数据类型 分析js是非常重要的在逆向过程中需要借助js进行反推proto文件才能对消息进行序列化与发序列化。 三、protobuf的序列化与反序列化 1. 环境配置【python】 下载protoc.exehttps://github.com/protocolbuffers/protobuf/releases安装相关库【注意版本对应】 pip install protobuf pip install google # 如果提示没有安装google库 pip install google-cloud pip install google-cloud-vision2.定义proto结构 文件名称message.proto syntax proto3;// 定义一个 Person 消息类型 message Person {string name 1;int32 age 2;Gender gender 3; // 枚举类型字段mapstring, string email 4; // Map 类型字段将字符串键映射到字符串值repeated Cars cars 5; // 重复字段表示一个 Cars 类型的数组bool is_student6 //布尔类型bytes hi 7 }// 定义一个 Gender 枚举类型 enum Gender {UNKNOWN 0;MALE 1;FEMALE 2;OTHER 3; }// 定义一个 Cars 嵌套消息类型 message Cars{string make 1; // 假设 Cars 类型有一个名为 make 的字符串字段int32 year 2; // 假设 Cars 类型有一个名为 year 的 32 位整数字段 } 3. 编译 .proto 文件 有的电脑是不需要前面的.\ 进入proto所在cmd路径后执行 .\protoc --python_out. person.proto4. 序列化 # 秋恋猫 import person_pb2def serialize_person():# 创建一个 Person 对象person person_pb2.Person()person.name 秋恋猫person.age 30person.gender person_pb2.Gender.FEMALE # 使用枚举值# 添加 email 信息到 Map 字段person.email[plat] qqperson.email[number] qiulianmaoqq.com# 添加车辆信息到重复字段car1 person.cars.add()car1.make 奥迪car1.year 2020car2 person.cars.add()car2.make 奔驰car2.year 2018# 布尔类型person.is_student True# 字节型persion.hi bhi# 将 Person 对象序列化为字节流serialized_data person.SerializeToString()return serialized_dataserialized_data serialize_person()5. 反序列化 # 秋恋猫 import person_pb2 from google.protobuf.json_format import MessageToDict def deserialize_person(serialized_data):# 创建一个空的 Person 对象person person_pb2.Person()# 将字节流反序列化为 Person 对象person.ParseFromString(serialized_data)# Person 对象 转为字典obj1 MessageToDict(person, preserving_proto_field_nameTrue) deserialize_person(serialized_data)四、总结 本文主要介绍了protobuf序列化与反序列化的知识点主要讲解了序列化与反序列、常见的数据传输格式以及protobuf的实际使用。
http://www.huolong8.cn/news/14996/

相关文章:

  • 陕西高速建设集团网站网站开发虚拟主机系统
  • 商标注册网站官网如何在本机搭建wordpress
  • 在线教育网站用什么做北京好的做网站公司
  • 网站开发设计培训做的好的h游戏下载网站
  • jsp 网站连接数据库做pc端网站必知
  • 专建网站中铁建设集团有限公司是央企吗
  • 中山免费网站建设肃宁县做网站
  • 长治网站建设哪家好秀色直播怎么下载
  • 灰色网站微信小程序下单怎么弄商家
  • 网站 功能呢企业网站建设业务报价单
  • 新乡微信网站建设阿里巴巴网站建设基础服务
  • 网站开发人员的水平网站设计建设流程
  • 网站程序设计软件微信支付 网站建设
  • 网站权重数据包西安定制网站建设
  • 常德市网站建设dw如何制作一个搜索栏
  • 怀化职院网站自己可以做招聘的网站吗
  • 网站图片被盗连怎么办西安建设网站电话
  • 济宁手机网站开发公司网站指向ip列表是什么
  • 天眼查免费查询入口江苏网站关键词优化优化
  • 为什么要建设个人网站做网站送商标
  • 宜昌公司做网站it运维系统详细设计
  • 电子商务网站建设的市场分析自学做网站一般要多久
  • 网站开发工程师课程西安百度首页优化
  • 平邑网站定制东莞网络营销网络培训学校
  • 门户网站建设公司报价作风建设提升年活动网站
  • 酒店网站规划建设方案书网站建设系统课程
  • 珠海做网站价格手机app软件开发排行榜
  • 北京开网站建设公司广州网站建设广州
  • win7 asp网站发布延安商城网站开发设计
  • 九江建设网站程序开发多少钱