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中字典(dict)和列表(list)的排序方法实例
Jun 16 Python
Python列表append和+的区别浅析
Feb 02 Python
利用Python3分析sitemap.xml并抓取导出全站链接详解
Jul 04 Python
Python如何生成树形图案
Jan 03 Python
pycharm设置注释颜色的方法
May 23 Python
python读写LMDB文件的方法
Jul 02 Python
pandas重新生成索引的方法
Nov 06 Python
python实现Excel文件转换为TXT文件
Apr 28 Python
python操作kafka实践的示例代码
Jun 19 Python
python实现简易淘宝购物
Nov 22 Python
Python assert关键字原理及实例解析
Dec 13 Python
Python 装饰器(decorator)常用的创建方式及解析
Apr 24 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图片验证码代码
2008/03/27 PHP
一贴学会PHP 新手入门教程
2009/08/03 PHP
php 在文件指定行插入数据的代码
2010/05/08 PHP
关于尾递归的使用详解
2013/05/02 PHP
php中创建和调用webservice接口示例
2014/07/25 PHP
php限制文件下载速度的代码
2015/10/20 PHP
Yii2创建表单(ActiveForm)方法详解
2016/07/23 PHP
通过继承IHttpHandle实现JS插件的组织与管理
2010/07/13 Javascript
详解强大的jQuery选择器之基本选择器、层次选择器
2012/02/07 Javascript
JavaScript 布尔操作符解析  && || !
2012/08/10 Javascript
window.opener用法和用途实例介绍
2013/08/19 Javascript
原生js和jquery中有关透明度设置的相关问题
2014/01/08 Javascript
BAT及各大互联网公司2014前端笔试面试题--JavaScript篇
2014/10/29 Javascript
JS事件添加和移出的兼容写法示例
2016/06/20 Javascript
jQuery css() 方法动态修改CSS属性
2016/09/25 Javascript
Node.js开启Https的实践详解
2016/10/25 Javascript
通过学习bootstrop导航条学会修改bootstrop颜色基调
2017/06/11 Javascript
JS获取填报扩展单元格控件的值的解决办法
2017/07/14 Javascript
ztree简介_动力节点Java学院整理
2017/07/19 Javascript
React Native 集成jpush-react-native的示例代码
2017/08/16 Javascript
vue组件jsx语法的具体使用
2018/05/21 Javascript
axios的拦截请求与响应方法
2018/08/11 Javascript
JS实现压缩上传图片base64长度功能
2019/12/03 Javascript
python实现按长宽比缩放图片
2018/06/07 Python
使用python批量读取word文档并整理关键信息到excel表格的实例
2018/11/07 Python
python3爬虫怎样构建请求header
2018/12/23 Python
对python调用RPC接口的实例详解
2019/01/03 Python
python实现矩阵打印
2019/03/02 Python
pandas删除指定行详解
2019/04/04 Python
关于numpy中eye和identity的区别详解
2019/11/29 Python
如何解决tensorflow恢复模型的特定值时出错
2020/02/06 Python
保加利亚服装和鞋类购物网站:Bibloo.bg
2020/11/08 全球购物
美国名牌手表折扣网站:Jomashop
2020/05/22 全球购物
“向国旗敬礼”活动策划方案(4篇)
2014/09/27 职场文书
主持人大赛开场白
2015/05/29 职场文书
Nginx解决403 forbidden的完整步骤
2021/04/01 Servers