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 07 Python
20个常用Python运维库和模块
Feb 12 Python
用python实现百度翻译的示例代码
Mar 09 Python
Python多继承顺序实例分析
May 26 Python
python中使用zip函数出现错误的原因
Sep 28 Python
关于Pycharm无法debug问题的总结
Jan 19 Python
Python中的 sort 和 sorted的用法与区别
Aug 10 Python
python之yield和Generator深入解析
Sep 18 Python
手把手教你pycharm专业版安装破解教程(linux版)
Sep 26 Python
将 Ubuntu 16 和 18 上的 python 升级到最新 python3.8 的方法教程
Mar 11 Python
Python3自动生成MySQL数据字典的markdown文本的实现
May 07 Python
django中cookiecutter的使用教程
Dec 03 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的FTP学习(一)
2006/10/09 PHP
jquery iframe操作详细解析
2013/11/20 Javascript
javascript电商网站抢购倒计时效果实现
2015/11/19 Javascript
JavaScript使用简单正则表达式的数据验证功能示例
2017/01/13 Javascript
Angularjs分页查询的实现
2017/02/24 Javascript
js实现彩色条纹滚动条效果
2017/03/15 Javascript
Node.js使用gm拼装sprite图片
2017/07/04 Javascript
Vue使用watch监听一个对象中的属性的实现方法
2019/05/10 Javascript
用js限制网页只在微信浏览器中打开(或者只能手机端访问)
2020/12/24 Javascript
JavaScript基于SVG的图片切换效果实例代码
2020/12/15 Javascript
[01:17:12]职来职往完美电竞专场
2014/09/18 DOTA
linux环境下安装pyramid和新建项目的步骤
2013/11/27 Python
python基础教程之常用运算符
2014/08/29 Python
浅谈五大Python Web框架
2017/03/20 Python
python3获取当前文件的上一级目录实例
2018/04/26 Python
pandas 将索引值相加的方法
2018/11/15 Python
在Python中COM口的调用方法
2019/07/03 Python
原来我一直安装 Python 库的姿势都不对呀
2019/11/11 Python
利用python实现凯撒密码加解密功能
2020/03/31 Python
浅谈多卡服务器下隐藏部分 GPU 和 TensorFlow 的显存使用设置
2020/06/30 Python
Python基于Serializer实现字段验证及序列化
2020/11/04 Python
Python 按比例获取样本数据或执行任务的实现代码
2020/12/03 Python
Python批量删除mysql中千万级大量数据的脚本分享
2020/12/03 Python
python 实现图片裁剪小工具
2021/02/02 Python
纯CSS3大转盘抽奖示例代码(响应式、可配置)
2017/01/13 HTML / CSS
俄罗斯街头服装品牌:Black Star Wear
2017/03/01 全球购物
世界上最大的曲棍球商店:Pro Hockey Life
2017/10/30 全球购物
澳洲网红粉泥面膜:Sand & Sky
2019/08/13 全球购物
飞利浦西班牙官方网站:Philips西班牙
2020/02/17 全球购物
XML文档定义有几种形式?它们之间有何本质区别?解析XML文档有哪几种方式?
2016/01/12 面试题
直接有效的自我评价
2014/01/11 职场文书
法制宣传月活动方案
2014/05/11 职场文书
小学生倡议书范文
2014/05/13 职场文书
面试自我评价范文
2014/09/17 职场文书
先进基层党组织事迹材料
2014/12/25 职场文书
拥有这5个特征人,“命”都不会太差
2019/08/16 职场文书