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基于右递归解决八皇后问题的方法
May 25 Python
Python使用matplotlib绘制余弦的散点图示例
Mar 14 Python
python实现录音小程序
Oct 26 Python
使用TensorFlow实现SVM
Sep 06 Python
Python3爬虫爬取英雄联盟高清桌面壁纸功能示例【基于Scrapy框架】
Dec 05 Python
Python进阶:生成器 懒人版本的迭代器详解
Jun 29 Python
Python爬虫 scrapy框架爬取某招聘网存入mongodb解析
Jul 31 Python
详解基于python的多张不同宽高图片拼接成大图
Sep 26 Python
python pygame实现球球大作战
Nov 25 Python
使用tensorflow实现VGG网络,训练mnist数据集方式
May 26 Python
PyQt QMainWindow的使用示例
Mar 24 Python
python脚本框架webpy模板赋值实现
Nov 20 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
迅雷下载《中学科技》怀旧期刊下载
2021/02/27 无线电
php面向对象中的魔术方法中文说明
2014/03/04 PHP
基于jquery扩展漂亮的下拉框可以二次修改
2013/11/19 Javascript
node.js中的url.format方法使用说明
2014/12/10 Javascript
jQuery拖拽插件gridster使用指南
2015/04/21 Javascript
JavaScript实现简洁的俄罗斯方块完整实例
2016/03/01 Javascript
jQueryUI DatePicker 添加时分秒
2016/06/04 Javascript
canvas学习之API整理笔记(二)
2016/12/29 Javascript
JavaScript实现时钟滴答声效果
2017/01/29 Javascript
详解Vue 事件驱动和依赖追踪
2017/04/22 Javascript
浅谈js中的this问题
2017/08/31 Javascript
使用JSON格式提交数据到服务端的实例代码
2018/04/01 Javascript
浅谈redux以及react-redux简单实现
2018/08/28 Javascript
Vue+penlayers实现多边形绘制及展示
2020/12/24 Vue.js
[01:06:43]完美世界DOTA2联赛PWL S3 PXG vs GXR 第二场 12.19
2020/12/24 DOTA
Python中文编码那些事
2014/06/25 Python
介绍Python中的__future__模块
2015/04/27 Python
Python简单生成随机数的方法示例
2018/03/31 Python
解决python matplotlib imshow无法显示的问题
2018/05/24 Python
python set内置函数的具体使用
2019/07/02 Python
Django 使用easy_thumbnails压缩上传的图片方法
2019/07/26 Python
使用pip安装python库的多种方式
2019/07/31 Python
Pytorch自定义Dataset和DataLoader去除不存在和空数据的操作
2021/03/03 Python
css 省略号 css3让多余的字符串消失并附加省略号的实现代码
2013/02/07 HTML / CSS
英国100%防污和防水的靴子:Muck Boot Company
2020/09/08 全球购物
俄罗斯园林植物网上商店:Garshinka
2020/07/16 全球购物
师范学院教师自荐书
2014/01/31 职场文书
趣味游戏活动方案
2014/02/07 职场文书
美术社团活动总结
2014/06/27 职场文书
学习教师敬业奉献模范事迹材料思想汇报
2014/09/19 职场文书
2014年扫黄打非工作总结
2014/12/03 职场文书
2016年社会管理综治宣传月活动总结
2016/03/16 职场文书
python geopandas读取、创建shapefile文件的方法
2021/06/29 Python
webpack的移动端适配方案小结
2021/07/25 Javascript
Java 写一个简单的图书管理系统
2022/04/26 Java/Android
win10此电脑打不开怎么办 win10双击此电脑无响应的解决办法
2022/07/23 数码科技