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 web程序
Sep 11 Python
简单介绍Python中的几种数据类型
Jan 02 Python
python调用tcpdump抓包过滤的方法
Jul 18 Python
解决python Markdown模块乱码的问题
Feb 14 Python
Django多数据库的实现过程详解
Aug 01 Python
将Python文件打包成.EXE可执行文件的方法
Aug 11 Python
Python 解码Base64 得到码流格式文本实例
Jan 09 Python
python高阶函数map()和reduce()实例解析
Mar 16 Python
python函数调用,循环,列表复制实例
May 03 Python
python ETL工具 pyetl
Jun 07 Python
Django+Uwsgi+Nginx如何实现生产环境部署
Jul 31 Python
Python之Sklearn使用入门教程
Feb 19 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
上传文件先创建目录 再上传到目录里面去
2010/12/29 PHP
PHP简单检测网址是否能够正常打开的方法
2016/09/04 PHP
PHP 应用容器化以及部署方法
2018/02/12 PHP
Ajax+PHP实现的删除数据功能示例
2019/02/12 PHP
js实现运行代码需要刷新的解决方法
2007/08/18 Javascript
JavaScript的Cookies
2008/01/16 Javascript
一个JS小玩意 几个属性相加不能超过一个特定值.
2009/09/29 Javascript
jQuery getJSON()+.ashx 实现分页(改进版)
2013/03/28 Javascript
js动态创建、删除表格示例代码
2013/08/07 Javascript
jQuery读取和设定KindEditor值的方法
2013/11/22 Javascript
原生javascript模仿win8等待提示圆圈进度条
2014/04/24 Javascript
js实现三级联动效果(简单易懂)
2017/03/27 Javascript
JS获取填报扩展单元格控件的值的解决办法
2017/07/14 Javascript
微信小程序中使用Promise进行异步流程处理的实例详解
2017/08/17 Javascript
浅析JavaScript中的特殊数据类型
2017/12/15 Javascript
微信小程序搭建(mpvue+mpvue-weui+fly.js)的详细步骤
2018/09/18 Javascript
vue Element左侧无限级菜单实现
2020/06/10 Javascript
vue使用axios实现excel文件下载的功能
2020/07/16 Javascript
python抓取某汽车网数据解析html存入excel示例
2013/12/04 Python
python编程培训 python培训靠谱吗
2018/01/17 Python
python遍历小写英文字母的方法
2019/01/02 Python
python仿evething的文件搜索器实例代码
2019/05/13 Python
解决python彩色螺旋线绘制引发的问题
2019/11/23 Python
python FTP批量下载/删除/上传实例
2019/12/22 Python
Python使用uuid库生成唯一标识ID
2020/02/12 Python
CSS图片翻转动画技术详解(IE也实现了)
2014/04/03 HTML / CSS
La Senza官网:北美顶尖性感内衣品牌
2018/08/03 全球购物
SmartBuyGlasses意大利:购买太阳镜、眼镜和隐形眼镜
2018/11/20 全球购物
怀旧香味蜡烛:Homesick
2019/11/02 全球购物
俄罗斯三星品牌商店:GalaxyStore
2020/11/04 全球购物
科室工作的个人自我评价
2013/10/30 职场文书
售后服务承诺书怎么写
2014/05/21 职场文书
领导干部遵守党的政治纪律情况思想汇报
2014/09/14 职场文书
试用期解除劳动合同通知书
2015/04/16 职场文书
法制教育主题班会
2015/08/13 职场文书
教师网络培训心得体会
2016/01/09 职场文书