python post protobuf
本文主要讲述如何使用Python发送protobuf数据。
安装protobuf
tar zxvf protobuf-2.6..tar.gz
cd protobuf-2.6.
./configure
make
make install
安装成功。
// 查看protoc版本
protoc --version
python安装protobuf
cd protobuf-2.6./python
python setup.py build
python setup.py install
环境搭建完毕,下面给个demo。
创建my_bidding.proto
package tutorial;
message Person {
required string name = ;
optional int32 age = ;
repeated BankCard bankcard = ;
message BankCard {
required string id = ;
}
optional RealEstate estate = ;
message RealEstate {
required string address = ;
optional int32 value = ;
}
optional bool isSingle = ;
optional SexualOrientation orientation = ;
enum SexualOrientation {
ManOnly = ;
WomanOnly = ;
BiSexual = ;
}
}
编译proto文件
protoc -I=. --python_out=. ./my_bidding.proto
编译成功,会产生my_bidding_pb2.py。
编写Python脚本
# python2
# coding = utf-8 import my_bidding_pb2
import httplib person = my_bidding_pb2.Person()
person.name = 'logan'
person.age = 25
person.isSingle = False
person.orientation = 3 bankcard1 = person.bankcard.add()
bankcard1.id = '' bankcard2 = person.bankcard.add()
bankcard2.id = '' real_estate = person.estate
real_estate.address = 'beijing'
real_estate.value = 1000 print person data = person.SerializeToString() CONTENT_TYPE = "application/octet-stream"
CONTENT_TYPE_HEADER = "Content-type" conn = httplib.HTTPConnection('sever_host', 'server_port')
conn.request('POST', 'server_path', data,
{CONTENT_TYPE_HEADER: CONTENT_TYPE})
response = conn.getresponse() print response
print response.status
print response.read()
python post protobuf的更多相关文章
- python读写protobuf
0. 前期准备 官方protobuf定义 https://code.google.com/p/protobuf/ python使用指南 https://developers.google. ...
- python 处理protobuf协议
背景:需要用django基于python3模拟一个http接口,请求是post方式,body是protobuf string,返回也是protobuf string 设计:django获取pb str ...
- Python使用Protobuf&&如何赋值&&如何正反序列化
前言 使用protobuf主要是两个步骤,序列化和反序列化. 关于Proto有哪些数据类型,然后如何编写,此处就不赘述了,百度一下有很多. 此文主要是总结,python使用protobuf的过程,如何 ...
- python 处理protobuf 接口常见错误
python 处理protobuf 接口常见错误 1.问题 : Assignment not allowed to repeated field '> http://www.coin163.co ...
- python通过protobuf实现rpc
由于项目组现在用的rpc是基于google protobuf rpc协议实现的,所以花了点时间了解下protobuf rpc.rpc对于做分布式系统的人来说肯定不陌生,对于rpc不了解的童鞋可以自行g ...
- python版protobuf 安装
转自:http://www.tuicool.com/articles/VfQfM3 1. 下载protobuf源代码(当前最新版本为:2.5.0) #cd /opt #wget https://pro ...
- python 安装protobuf
安装准备:python和protoc(编译proto到各个语言) 下载protobuf源代码(各种语言实现):https://github.com/google/protobuf 1.到Python ...
- mac环境使用python处理protobuf
安装 brew install protobuf 然后再安装protobuf需要的依赖 brew install autoconf automake libtool 验证是否安装成功 protoc – ...
- protobuf python api
摘要: python中一切都可以看作类.那么如何查看每个类的API.使用ipython python protobuf 的函数在message中定义 此处所有的api说明:https://devel ...
随机推荐
- 天天在用Redis,持久化方案你又知道哪些?
前言 文章首发于微信公众号[码猿技术专栏]:天天用Redis,持久化方案有哪些你知道吗? Redis目前已经成为主流的内存数据库了,但是大部分人仅仅是停留在会用的阶段,你真的了解Redis内部的工作原 ...
- L12 Transformer
Transformer 在之前的章节中,我们已经介绍了主流的神经网络架构如卷积神经网络(CNNs)和循环神经网络(RNNs).让我们进行一些回顾: CNNs 易于并行化,却不适合捕捉变长序列内的依赖关 ...
- Mysql:小主键,大问题
今日格言:让一切回归原点,回归最初的为什么. 本篇讲解 Mysql 的主键问题,从为什么的角度来了解 Mysql 主键相关的知识,并拓展到主键的生成方案问题.再也不怕被问到 Mysql 时只知道 CR ...
- vue axios post请求下载文件,后台springmvc完整代码
注意请求时要设置responseType,不加会中文乱码,被这个坑困扰了大半天... axios post请求: download(index,row){ var ts = ...
- SQL入门,就这么简单
随着时代的发展,人类活动产生的信息越来越多,大家常说,现在这个时代是大数据时代.在这样一个前提下,数据的存储成为我们必须要认真对待和研究的问题了.SQL(Structured Query Langua ...
- [PHP]$_SERVER参数详情
来源:PHP中$_SERVER的详细参数与说明 $_SERVER['PHP_SELF'] #当前正在执行脚本的文件名,与 document root相关.$_SERVER['argv'] #传递给该脚 ...
- PHP 语法字符串函数 strcmp、strlen 使用及实现
说明 这里基于 php7.2.5 进行测试,php7 之后内部结构变化应该不是太大,但与 php5.X 有差别. 函数分类 用户自定义函数 say(); function say() { echo & ...
- tensorflow1.0 构建lstm做图片分类
import tensorflow as tf from tensorflow.examples.tutorials.mnist import input_data #this is data mni ...
- 进程、线程和携程的通俗解释【刘新宇Python】
通过下面这张图你就能看清楚了,进程.线程和携程的关系 进程: 多个进程是可以运行在多个CPU当中的,比如你的电脑是4核,可以同时并行运行四个进程,这是真正物理上的并行运行. 线程: 每个进程又可以 ...
- 教你如何快速让浏览器兼容es6
写在正文前,本来这一节的内容应该放在第二节更合适,因为当时就有同学问ES6的兼容性如何,如何在浏览器兼容ES6的特性,这节会介绍一个抱砖引玉的操作案例. 为什么ES6会有兼容性问题? 由于广大用户使用 ...