python 如何調(diào)用 dubbo 接口
公司后端服務(wù)使用 java 重構(gòu)后,很多接口采用了阿里的 dubbo 協(xié)議。而 python 是無法直接調(diào)用 dubbo 接口的,但可以通過 telnet 調(diào)用,具體可以通過 telnetlib 模塊的 Telnet類 來調(diào)用,只需要四行代碼即可實(shí)現(xiàn):
import telnetlib# 創(chuàng)建telnet類對象conn = telnetlib.Telnet()# 連接dubbo接口地址conn.open(host, port)#1.cmd命令格式: 接口全名字.方法名(參數(shù)1,參數(shù)2,參數(shù)3...參數(shù)n) 2.write方法就是通過telnet發(fā)起dubbo請求,參數(shù)和單獨(dú)使用telnet一致conn.write(’invoke {}n’.format(cmd).encode())# 獲取telnet返回信息conn.read_until(’dubbo>’.encode()).decode().split(’rn’)[0]
分裝成類:
class Dubbo(object): ’’’ 方法調(diào)用案例: conn = Dubbo(’127.0.0.1’, 18080) #格式: 接口全名字.方法名(參數(shù)1,參數(shù)2,參數(shù)3...參數(shù)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 如何調(diào)用 dubbo 接口的詳細(xì)內(nèi)容,更多關(guān)于python 調(diào)用 dubbo 接口的資料請關(guān)注好吧啦網(wǎng)其它相關(guān)文章!
相關(guān)文章:
1. 以PHP代碼為實(shí)例詳解RabbitMQ消息隊(duì)列中間件的6種模式2. Python 如何將integer轉(zhuǎn)化為羅馬數(shù)(3999以內(nèi))3. python web框架的總結(jié)4. 詳解Python模塊化編程與裝飾器5. Python實(shí)現(xiàn)迪杰斯特拉算法過程解析6. html小技巧之td,div標(biāo)簽里內(nèi)容不換行7. python裝飾器三種裝飾模式的簡單分析8. Python如何進(jìn)行時(shí)間處理9. python logging 重復(fù)寫日志問題解決辦法詳解10. python使用ctypes庫調(diào)用DLL動(dòng)態(tài)鏈接庫
