python 如何调用 dubbo 接口

python 如何调用 dubbo 接口,第1张

python 如何调用 dubbo 接口

  公司后端服务使用 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('rn')[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('rn')[0]

    return data

以上就是python 如何调用 dubbo 接口的详细内容,更多关于python 调用 dubbo 接口的资料请关注考高分网其它相关文章!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/3207766.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-10-03
下一篇 2022-10-03

发表评论

登录后才能评论

评论列表(0条)

保存