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 SQLAlchemy基本操作和常用技巧(包含大量实例,非常好)
May 06 Python
使用Python解析JSON数据的基本方法
Oct 15 Python
python去除空格和换行符的实现方法(推荐)
Jan 04 Python
Windows下的Python 3.6.1的下载与安装图文详解(适合32位和64位)
Feb 21 Python
Python 比较文本相似性的方法(difflib,Levenshtein)
Oct 15 Python
Python os.rename() 重命名目录和文件的示例
Oct 25 Python
python常用函数与用法示例
Jul 02 Python
Python秒算24点实现及原理详解
Jul 29 Python
Django中的session用法详解
Mar 09 Python
基于python爬取有道翻译过程图解
Mar 31 Python
python使用openpyxl操作excel的方法步骤
May 28 Python
Python排序函数的使用方法详解
Dec 11 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数据库连接类~~做成一个分页类!
2006/11/25 PHP
PHP 设计模式之观察者模式介绍
2012/02/22 PHP
CI框架实现cookie登陆的方法详解
2016/05/18 PHP
PHP+MySQL高并发加锁事务处理问题解决方法
2018/04/30 PHP
php高性能日志系统 seaslog 的安装与使用方法分析
2020/02/29 PHP
限制文本字节数js代码
2007/03/06 Javascript
innerHTML 和 getElementsByName 在IE下面的bug 的解决
2010/04/09 Javascript
ExtJs使用总结(非常详细)
2012/03/22 Javascript
js 将json字符串转换为json对象的方法解析
2013/11/13 Javascript
jquery实现的随机多彩tag标签随机颜色和字号大小效果
2014/03/27 Javascript
jQuery中:image选择器用法实例
2015/01/03 Javascript
jQuery对指定元素中指定字符串进行替换的方法
2015/03/17 Javascript
jquery UI Datepicker时间控件的使用方法(加强版)
2015/11/07 Javascript
详解基于webpack和vue.js搭建开发环境
2017/04/05 Javascript
JS实现点击复选框变更DIV显示状态的示例代码
2017/12/18 Javascript
使用webpack打包后的vue项目如何正确运行(express)
2018/10/26 Javascript
谈谈IntersectionObserver懒加载的具体使用
2019/10/15 Javascript
浅谈Vue3 Composition API如何替换Vue Mixins
2020/04/29 Javascript
vue输入框使用模糊搜索功能的实现代码
2020/05/26 Javascript
[01:03:33]Alliance vs TNC 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/18 DOTA
Python实现线程状态监测简单示例
2018/03/28 Python
pandas中apply和transform方法的性能比较及区别介绍
2018/10/30 Python
Python os.access()用法实例
2019/02/18 Python
Python中捕获键盘的方式详解
2019/03/28 Python
Python闭包和装饰器用法实例详解
2019/05/22 Python
对python 中class与变量的使用方法详解
2019/06/26 Python
Python csv模块使用方法代码实例
2019/08/29 Python
Anaconda+Pycharm环境下的PyTorch配置方法
2020/03/13 Python
Python PyQt5整理介绍
2020/04/01 Python
CSS3圆角和渐变2种常用功能详解
2016/01/06 HTML / CSS
出国导师推荐信
2014/01/16 职场文书
一年级班主任寄语
2014/01/19 职场文书
党员承诺书格式
2014/05/21 职场文书
广告公司文案策划岗位职责
2015/04/14 职场文书
小学音乐课歌曲《堆雪人》教学反思
2016/02/18 职场文书
MySQL生成千万测试数据以及遇到的问题
2022/08/05 MySQL