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海龟绘图实例教程
Jul 24 Python
python统计日志ip访问数的方法
Jul 06 Python
Linux 发邮件磁盘空间监控(python)
Apr 23 Python
浅谈Python中函数的参数传递
Jun 21 Python
Python 实现一行输入多个值的方法
Apr 21 Python
Django后端接收嵌套Json数据及解析详解
Jul 17 Python
解决django服务器重启端口被占用的问题
Jul 26 Python
pandas DataFrame创建方法的方式
Aug 02 Python
下载官网python并安装的步骤详解
Oct 12 Python
记录模型训练时loss值的变化情况
Jun 16 Python
PyCharm 2020.2下配置Anaconda环境的方法步骤
Sep 23 Python
基于python模拟TCP3次握手连接及发送数据
Nov 06 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
《五等分的花嫁》漫画完结!2020年10月第2期TV动画制作组换血!
2020/03/06 日漫
PHP反射类ReflectionClass和ReflectionObject的使用方法
2013/11/13 PHP
利用PHP fsockopen 模拟POST/GET传送数据的方法
2015/09/22 PHP
php实现文章评论系统
2019/02/18 PHP
Laravel 自带的Auth验证登录方法
2019/09/30 PHP
laravel框架数据库操作、查询构建器、Eloquent ORM操作实例分析
2019/12/20 PHP
php文件上传原理与实现方法详解
2019/12/20 PHP
用javascript getComputedStyle获取和设置style的原理
2008/10/10 Javascript
input标签内容改变的触发事件介绍
2014/06/18 Javascript
js以分隔符分隔数组中的元素并转换为字符串的方法
2016/11/16 Javascript
angularjs中ng-attr的用法详解
2016/12/31 Javascript
javascript使用递归算法求两个数字组合功能示例
2017/01/03 Javascript
React Native模块之Permissions权限申请的实例相机
2017/09/28 Javascript
微信小程序自定义底部导航带跳转功能
2018/11/27 Javascript
vue+element实现表格新增、编辑、删除功能
2019/05/28 Javascript
vue tab滚动到一定高度,固定在顶部,点击tab切换不同的内容操作
2020/07/22 Javascript
[01:35]辉夜杯战队访谈宣传片—LGD
2015/12/25 DOTA
简单介绍Python的Django框架加载模版的方式
2015/07/20 Python
python列表的增删改查实例代码
2018/01/30 Python
Python爬虫框架Scrapy基本用法入门教程
2018/07/26 Python
Django中自定义admin Xadmin的实现代码
2019/08/09 Python
Python使用Opencv实现图像特征检测与匹配的方法
2019/10/30 Python
一款利用纯css3实现的360度翻转按钮的实例教程
2014/11/05 HTML / CSS
泰坦健身器材:Titan Fitness
2018/02/13 全球购物
标记环介质访问控制协议
2016/03/27 面试题
超市实习总结自我鉴定
2013/09/19 职场文书
后勤主管工作职责
2013/12/07 职场文书
工作表扬信的范文
2014/01/10 职场文书
业务员的岗位职责
2014/03/15 职场文书
幼儿园植树节活动总结
2014/07/04 职场文书
县政府领导班子四风问题对照检查材料思想汇报
2014/09/26 职场文书
计划生育汇报材料
2014/12/26 职场文书
公司清洁工岗位职责
2015/04/15 职场文书
法定授权委托证明书
2015/06/18 职场文书
初中运动会前导词
2015/07/20 职场文书
施工安全责任协议书
2016/03/23 职场文书