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查询Mysql时返回字典结构的代码
Jun 18 Python
Python中的浮点数原理与运算分析
Oct 12 Python
Python中max函数用于二维列表的实例
Apr 03 Python
python2.7使用plotly绘制本地散点图和折线图
Apr 02 Python
python二元表达式用法
Dec 04 Python
Python ORM编程基础示例
Feb 02 Python
python_array[0][0]与array[0,0]的区别详解
Feb 18 Python
python随机模块random的22种函数(小结)
May 15 Python
使用PyCharm安装pytest及requests的问题
Jul 31 Python
如何在python中处理配置文件代码实例
Sep 27 Python
Python使用cn2an实现中文数字与阿拉伯数字的相互转换
Mar 02 Python
Pytorch 使用tensor特定条件判断索引
Apr 08 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
php中通过正则表达式下载内容中的远程图片的函数代码
2012/01/10 PHP
通过php修改xml文档内容的方法
2015/01/23 PHP
thinkphp命名空间用法实例详解
2015/12/30 PHP
解决thinkphp5未定义变量会抛出异常,页面错误,请稍后再试的问题
2019/10/16 PHP
分享几种好用的PHP自定义加密函数(可逆/不可逆)
2020/09/15 PHP
添加到收藏夹代码(兼容几乎所有的浏览器)
2007/01/09 Javascript
BootStrap iCheck插件全选与获取value值的解决方法
2016/08/24 Javascript
利用jquery获取select下拉框的值
2016/11/23 Javascript
基于JQuery的购物车添加删除以及结算功能示例
2017/03/08 Javascript
jQuery选择器之子元素选择器详解
2017/09/18 jQuery
详解使用VueJS开发项目中的兼容问题
2018/08/02 Javascript
Vue监听页面刷新和关闭功能
2019/06/20 Javascript
详解微信小程序工程化探索之webpack实战
2020/04/20 Javascript
vue 实现在同一界面实现组件的动态添加和删除功能
2020/06/16 Javascript
微信小程序反编译的实现
2020/12/10 Javascript
一篇文章读懂Python赋值与拷贝
2018/04/19 Python
python 匹配url中是否存在IP地址的方法
2018/06/04 Python
python实现对csv文件的列的内容读取
2018/07/04 Python
python中yield的用法详解——最简单,最清晰的解释
2019/04/04 Python
django做form表单的数据验证过程详解
2019/07/26 Python
Python常用类型转换实现代码实例
2020/07/28 Python
Python将list元素转存为CSV文件的实现
2020/11/16 Python
IE矩阵Matrix滤镜旋转与缩放及如何结合transform
2012/11/29 HTML / CSS
国家地理在线商店:Shop National Geographic
2018/06/30 全球购物
智能电子秤、手表和健康监测仪:Withings(之前为诺基亚健康)
2018/10/30 全球购物
大整数数相乘的问题
2012/07/22 面试题
大学生求职推荐信
2013/11/27 职场文书
老公给老婆的检讨书(精华篇)
2014/10/18 职场文书
计划生育个人总结
2015/03/02 职场文书
2015新生加入学生会自荐书
2015/03/24 职场文书
2015年度个人教学工作总结
2015/05/20 职场文书
开国大典观后感
2015/06/04 职场文书
2015年依法治校工作总结
2015/07/27 职场文书
2016道德模范先进事迹材料
2016/02/26 职场文书
python实现自动化群控的步骤
2021/04/11 Python
Python集合的基础操作
2021/11/01 Python