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常用列表数据结构小结
Aug 06 Python
跟老齐学Python之私有函数和专有方法
Oct 24 Python
Python中实现三目运算的方法
Jun 21 Python
深入解析Python中的上下文管理器
Jun 28 Python
python自定义函数实现一个数的三次方计算方法
Jan 20 Python
python按行读取文件并找出其中指定字符串
Aug 08 Python
在django-xadmin中APScheduler的启动初始化实例
Nov 15 Python
Python实现序列化及csv文件读取
Jan 19 Python
一文弄懂Pytorch的DataLoader, DataSet, Sampler之间的关系
Jul 03 Python
Python logging日志模块 配置文件方式
Jul 12 Python
Python 在局部变量域中执行代码
Aug 07 Python
据Python爬虫不靠谱预测可知今年双十一销售额将超过6000亿元
Nov 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/10/09 PHP
php+memcache实现的网站在线人数统计代码
2014/07/04 PHP
php Imagick获取图片RGB颜色值
2014/07/28 PHP
学习php设计模式 php实现状态模式
2015/12/07 PHP
PHP 访问数据库配置通用方法(json)
2018/05/20 PHP
Yii中特殊行为ActionFilter的使用方法示例
2020/10/18 PHP
Javascript 原型和继承(Prototypes and Inheritance)
2009/04/01 Javascript
利用JQuery+EasyDrag 实现弹出可拖动的Div,同时向Div传值,然后返回Div选中的值
2009/10/24 Javascript
javascript 显示当前系统时间代码
2009/12/28 Javascript
基于jQuery的表格操作插件
2010/04/22 Javascript
js获取时间函数及扩展函数的方法
2016/10/30 Javascript
JavaScript三种绑定事件方式及相互之间的区别分析
2017/01/10 Javascript
用js制作淘宝放大镜效果
2020/10/28 Javascript
JS实现DIV高度自适应窗口示例
2017/02/16 Javascript
详解vue.js2.0父组件点击触发子组件方法
2017/05/10 Javascript
使用DataTable插件实现异步加载数据
2017/11/19 Javascript
总结JavaScript在IE9之前版本中内存泄露问题
2018/04/28 Javascript
Vue项目webpack打包部署到Tomcat刷新报404错误问题的解决方案
2018/05/15 Javascript
js实现图片上传并预览功能
2018/08/06 Javascript
Vue组件实现触底判断
2019/06/26 Javascript
js实现一个简易计算器
2020/03/30 Javascript
原生js实现随机点名功能
2019/11/05 Javascript
vue瀑布流组件实现上拉加载更多
2020/03/10 Javascript
微信小程序实现自定义底部导航
2020/11/18 Javascript
Python获取任意xml节点值的方法
2015/05/05 Python
Python json 错误xx is not JSON serializable解决办法
2017/03/15 Python
python 3.5实现检测路由器流量并写入txt的方法实例
2017/12/17 Python
Python3.5面向对象与继承图文实例详解
2019/04/24 Python
世界上最大的罕见唱片、CD和音乐纪念品网上商店:991.com
2018/05/03 全球购物
《雨霖铃》听课反思
2014/02/13 职场文书
《东方明珠》教学反思
2014/04/20 职场文书
《青山处处埋忠骨》教学反思
2014/04/22 职场文书
装饰工程师岗位职责
2014/06/08 职场文书
2014年文艺部工作总结
2014/11/17 职场文书
详解Python+OpenCV进行基础的图像操作
2022/02/15 Python
一篇文章带你掌握SQLite3基本用法
2022/06/14 数据库