python 如何调用 dubbo 接口

时间:2021-05-23

  公司后端服务使用 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 接口的资料请关注其它相关文章!

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章