python 如何调用 dubbo 接口


Posted in Python onSeptember 24, 2020

公司后端服务使用 java 重构后,很多接口采用了阿里的 dubbo 协议。而 python 是无法直接调用 dubbo 接口的,但可以通过 telnet 调用,具体可以通过 telnetlib 模块的 Telnet类 来调用,只需要四行代码即可实现:

import telnetlib

# 创建telnet类对象
conn = telnetlib.Telnet()
# 连接dubbo接口地址
conn.open(host, port)
#1.cmd命令格式: 接口全名字.方法名(参数1,参数2,参数3...参数n) 2.write方法就是通过telnet发起dubbo请求,参数和单独使用telnet一致
conn.write('invoke {}\n'.format(cmd).encode())
# 获取telnet返回信息
conn.read_until('dubbo>'.encode()).decode().split('\r\n')[0]

分装成类:

class Dubbo(object):
  '''
  方法调用案例:
  conn = Dubbo('127.0.0.1', 18080)
  #格式: 接口全名字.方法名(参数1,参数2,参数3...参数n)
  cmd = 'xxx.xxx.xx.xxxx.xxxx.xxxx.xxxx(268,"sz",1587288615000,1587634215000,0,10)'
  response = json.loads(conn.reuqest(cmd))
  '''
  dubbo = 'dubbo>'

  def __init__(self,host,port):
    self.conn = telnetlib.Telnet()
    self.conn.open(host, port)

  def request(self,cmd):
    self.conn.write('invoke {}\n'.format(cmd).encode())
    data = self.conn.read_until(self.dubbo.encode()).decode().split('\r\n')[0]

    return data

以上就是python 如何调用 dubbo 接口的详细内容,更多关于python 调用 dubbo 接口的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
从零学python系列之浅谈pickle模块封装和拆封数据对象的方法
May 23 Python
Python的Django框架中if标签的相关使用
Jul 15 Python
Python中基础的socket编程实战攻略
Jun 01 Python
Python的collections模块中的OrderedDict有序字典
Jul 07 Python
Pycharm设置界面全黑的方法
May 23 Python
python分块读取大数据,避免内存不足的方法
Dec 10 Python
python 获取url中的参数列表实例
Dec 18 Python
Python关于excel和shp的使用在matplotlib
Jan 03 Python
Python编程实现tail-n查看日志文件的方法
Jul 08 Python
使用django实现一个代码发布系统
Jul 18 Python
python使用信号量动态更新配置文件的操作
Apr 01 Python
Python matplotlib多个子图绘制整合
Apr 13 Python
python matplotlib绘制三维图的示例
Sep 24 #Python
python使用matplotlib:subplot绘制多个子图的示例
Sep 24 #Python
Django路由层URLconf作用及原理解析
Sep 24 #Python
Python xlrd/xlwt 创建excel文件及常用操作
Sep 24 #Python
安装并免费使用Pycharm专业版(学生/教师)
Sep 24 #Python
Pycharm学生免费专业版安装教程的方法步骤
Sep 24 #Python
python 多线程共享全局变量的优劣
Sep 24 #Python
You might like
Content-type 的说明
2006/10/09 PHP
php文件上传的例子及参数详解
2013/12/12 PHP
thinkphp3.x中display方法及show方法的用法实例
2016/05/19 PHP
PHP unlink与rmdir删除目录及目录下所有文件实例代码
2018/02/07 PHP
图片之间的切换
2006/06/26 Javascript
js字符串转成JSON
2013/11/07 Javascript
innerText 使用示例
2014/01/23 Javascript
js实现鼠标划过给div加透明度的方法
2015/05/25 Javascript
JQuery替换DOM节点的方法
2015/06/11 Javascript
js实现当复选框选择匿名登录时隐藏登录框效果
2015/08/14 Javascript
每天一篇javascript学习小结(Date对象)
2015/11/13 Javascript
AngularJS中指令的四种基本形式实例分析
2016/11/22 Javascript
vue实现表格增删改查效果的实例代码
2017/07/18 Javascript
Angular中使用MathJax遇到的一些问题
2017/12/15 Javascript
js动态添加表格逐行添加、删除、遍历取值的实例代码
2018/01/25 Javascript
vue实现全匹配搜索列表内容
2019/09/26 Javascript
Python获取电脑硬件信息及状态的实现方法
2014/08/29 Python
简单介绍Python下自己编写web框架的一些要点
2015/04/29 Python
利用Django内置的认证视图实现用户密码重置功能详解
2017/11/24 Python
Python解决八皇后问题示例
2018/04/22 Python
Django User 模块之 AbstractUser 扩展详解
2020/03/11 Python
解决matplotlib.pyplot在Jupyter notebook中不显示图像问题
2020/04/22 Python
如何用Python徒手写线性回归
2021/01/25 Python
python和opencv构建运动检测器的实现
2021/03/03 Python
css3实现元素环绕中心点布局的方法示例
2019/01/15 HTML / CSS
学习新党章思想汇报
2014/01/09 职场文书
森林防火工作方案
2014/02/14 职场文书
社区工作者感言
2014/03/02 职场文书
教师批评与自我批评(群众路线)
2014/10/15 职场文书
房地产工程部经理岗位职责
2015/04/09 职场文书
2016教师廉洁从教心得体会
2016/01/13 职场文书
安全责任协议书范本
2016/03/23 职场文书
PHP中多字节字符串操作实例详解
2021/08/23 PHP
Nginx配置文件详解以及优化建议指南
2021/09/15 Servers
Python实现滑雪小游戏
2021/09/25 Python
Python创建SQL数据库流程逐步讲解
2022/09/23 Python