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实现读取目录所有文件的文件名并保存到txt文件代码
Nov 22 Python
用Python遍历C盘dll文件的方法
May 06 Python
Python简单网络编程示例【客户端与服务端】
May 26 Python
CentOS7.3编译安装Python3.6.2的方法
Jan 22 Python
Python列表常见操作详解(获取,增加,删除,修改,排序等)
Feb 18 Python
详解python selenium 爬取网易云音乐歌单名
Mar 28 Python
python实现关闭第三方窗口的方法
Jun 28 Python
Python使用itchat模块实现简单的微信控制电脑功能示例
Aug 26 Python
Python 点击指定位置验证码破解的实现代码
Sep 11 Python
PyTorch笔记之scatter()函数的使用
Feb 12 Python
pandas针对excel处理的实现
Jan 15 Python
python和opencv构建运动检测器的实现
Mar 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手册及PHP编程标准
2006/12/17 PHP
php中可能用来加密字符串的函数[base64_encode、urlencode、sha1]
2012/01/16 PHP
zend optimizer在wamp的基础上安装图文教程
2013/10/26 PHP
PHP实现仿Google分页效果的分页函数
2015/07/29 PHP
Laravel 5使用Laravel Excel实现Excel/CSV文件导入导出的功能详解
2017/10/11 PHP
Laravel学习笔记之Artisan命令生成自定义模板的方法
2018/11/22 PHP
JQuery实现简单的图片滑动切换特效
2015/11/22 Javascript
AngularJS使用ngOption实现下拉列表的实例代码
2016/01/23 Javascript
js随机生成26个大小写字母
2016/02/12 Javascript
JS传值出现中文参数乱码的解决方法
2016/06/30 Javascript
关于原生js中bind函数的简单实现
2016/08/10 Javascript
JavaScript里 ==与===区别详解
2016/08/16 Javascript
基于AngularJS实现iOS8自带的计算器
2016/09/12 Javascript
JS实现自动轮播图效果(自适应屏幕宽度+手机触屏滑动)
2017/06/19 Javascript
JS使用正则表达式获取小括号、中括号及花括号内容的方法示例
2018/06/01 Javascript
vue富文本框(插入文本、图片、视频)的使用及问题小结
2018/08/17 Javascript
关于vue v-for 循环问题(一行显示四个,每一行的最右边那个计算属性)
2018/09/04 Javascript
JS实现的杨辉三角【帕斯卡三角形】算法示例
2019/02/26 Javascript
详解Vue项目引入CreateJS的方法(亲测可用)
2019/05/30 Javascript
微信小程序实现原生步骤条
2019/07/25 Javascript
如何修改Vue打包后文件的接口地址配置的方法
2020/04/22 Javascript
微信小程序动态评分展示/五角星展示/半颗星展示/自定义长度展示功能的实现
2020/07/22 Javascript
vue中的循环对象属性和属性值用法
2020/09/04 Javascript
[38:38]完美世界DOTA2联赛PWL S3 access vs Rebirth 第二场 12.17
2020/12/18 DOTA
python显示天气预报
2014/03/02 Python
Python贪吃蛇游戏编写代码
2020/10/26 Python
Python中的集合介绍
2019/01/28 Python
python反转列表的三种方式解析
2019/11/08 Python
全网最细 Python 格式化输出用法讲解(推荐)
2021/01/18 Python
HTML5网页音乐播放器的示例代码
2017/11/09 HTML / CSS
Sunglasses Shop德国站:欧洲排名第一的太阳镜网站
2017/08/01 全球购物
教师旷工检讨书
2014/01/18 职场文书
党员干部承诺书范文
2014/03/25 职场文书
2015年幼儿园中班开学寄语
2015/05/27 职场文书
管理者们如何制定2019年的工作计划?
2019/07/01 职场文书
使用Springboot实现健身房管理系统
2021/07/01 Java/Android