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使用BeautifulSoup分析网页信息的方法
Apr 04 Python
python实现从网络下载文件并获得文件大小及类型的方法
Apr 28 Python
python文件特定行插入和替换实例详解
Jul 12 Python
快速了解Python开发中的cookie及简单代码示例
Jan 17 Python
Python迭代器与生成器用法实例分析
Jul 09 Python
Django objects的查询结果转化为json的三种方式的方法
Nov 07 Python
python 调用有道api接口的方法
Jan 03 Python
python使用pipeline批量读写redis的方法
Feb 18 Python
python之pymysql模块简单应用示例代码
Dec 16 Python
Python模块相关知识点小结
Mar 09 Python
python3.7中安装paddleocr及paddlepaddle包的多种方法
Nov 27 Python
Django路由层如何获取正确的url
Jul 15 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也可以?成Shell Script
2006/10/09 PHP
PHP+AJAX实现无刷新注册(带用户名实时检测)
2007/01/02 PHP
PHP strncasecmp字符串比较的小技巧
2011/01/04 PHP
php获取文件内容最后一行示例
2014/01/09 PHP
php的declare控制符和ticks教程(附示例)
2014/03/21 PHP
php 提交表单 关闭layer弹窗iframe的实例讲解
2018/08/20 PHP
js 函数的副作用分析
2011/08/23 Javascript
jQuery 阴影插件代码分享
2012/01/09 Javascript
Javascript图像处理—亮度对比度应用案例
2013/01/03 Javascript
Jquery 模拟用户点击超链接或者按钮的方法
2013/10/25 Javascript
自己封装的javascript事件队列函数版
2014/06/12 Javascript
针对初学者的jQuery入门指南
2015/08/15 Javascript
获取IE浏览器Cookie信息的方法
2017/01/23 Javascript
JS实现复选框的全选和批量删除功能
2017/04/05 Javascript
jQuery使用bind函数实现绑定多个事件的方法
2017/10/11 jQuery
JS简单获取并修改input文本框内容的方法示例
2018/04/08 Javascript
layer提示框添加多个按钮选择的实例
2019/09/12 Javascript
JS数组的常用10种方法详解
2020/05/08 Javascript
[01:09:23]KG vs TNC 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
Python 字典dict使用介绍
2014/11/30 Python
Python内置函数OCT详解
2016/11/09 Python
利用Python实现某OA系统的自动定位功能
2020/05/27 Python
Lombok插件安装(IDEA)及配置jar包使用详解
2020/11/04 Python
HTML5拖放API实现拖放排序的实例代码
2017/05/11 HTML / CSS
英国领先的办公用品供应商:Viking
2016/08/01 全球购物
给男朋友的道歉信
2014/01/12 职场文书
领导接待方案
2014/03/13 职场文书
二手房买卖协议书
2014/04/10 职场文书
教师党员公开承诺事项
2014/05/28 职场文书
松材线虫病防治方案
2014/06/15 职场文书
助残日活动总结
2014/08/27 职场文书
房产授权委托书范本
2014/09/22 职场文书
体育教师个人总结
2015/02/09 职场文书
党员干部学习心得体会
2016/01/23 职场文书
python爬虫之利用selenium模块自动登录CSDN
2021/04/22 Python
Springboot集成阿里云OSS上传文件系统教程
2021/06/28 Java/Android