python 如何调用 dubbo 接口
公司后端服务使用java重构后,很多接口采用了阿里的dubbo协议。而python是无法直接调用dubbo接口的,但可以通过telnet调用,具体可以通过telnetlib模块的Telnet类来调用,只需要四行代码即可实现:
importtelnetlib
#创建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]
分装成类:
classDubbo(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)
defrequest(self,cmd):
self.conn.write('invoke{}\n'.format(cmd).encode())
data=self.conn.read_until(self.dubbo.encode()).decode().split('\r\n')[0]
returndata
以上就是python如何调用dubbo接口的详细内容,更多关于python调用dubbo接口的资料请关注毛票票其它相关文章!