• 0
  • 0
分享
  • python 调用 dubbo 接口——软件测试圈
  • 北极 2021-01-19 13:36:30 字数 1041 阅读 1591 收藏 0

  公司后端服务使用 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


作者:乱糟糟

原文链接:https://www.cnblogs.com/shenh/p/12796020.html


  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 读者提问:用例评审会议有通用的流程吗,是什么样的 ?阿常回答:这个要分复杂项目和简单项目。一、复杂项目如果是复杂项目,需要走会议评审,目的是为了查漏补缺,保证用例覆盖了所有需求。1、将需要评审的用例文档共享给相关人员提前查看(主要是产品、研发、测试)。2、在项目沟通群和大家确认参加评审会的时间(给出具体的时间,让大家确认)。3、正式向相关人员(产品、设计、研发、测试)发起用例评审会议邀请。4、评审会议上由测试团队按主流程、细分模块逐一梳理测试点。5、产品及研发在测试梳理测试点的过程中,可随时提出疑问或给予补充。6、会议结束后,测试团队将更新后的测试用例同步给项目组人员查看。二、简单项...
            0 0 1494
            分享
          • 做接口测试中,对于一般性的单业务接口测试很多工具可供选择,但是对于一些相关业务相关性的关联接口测试就比较麻烦,使用工具比如jmeter、postman、soapui等等就比较麻烦。我比较偏重脚本化执行测试用例,所以选择了groovy作为主要语言来进行接口测试,但是脚本依赖的库还是基于之前所在的java为主的测试框架,有兴趣的可以翻翻以前的文章。项目的架构思路是以模块为基础把接口分类,然后对于接口的请求单独进行实现。通过一个user作为一个用户,携带各种属性,如:uname,pwd,token,userinfobean等信息。来作为各个模块类之间的信息传递。回到修改密码接口,简单说一下我们接口的...
            1 0 2342
            分享
          • 软件测试概念:一、什么是软件测试?1、软件测试是指使用人工或者自动手段,来运行或测试某个系统的过程。其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。二、一般的软件测试的应用场景有:APP、代码、WEB和小程序。三、软件测试的发展历程:软件测试从开始到现在,已经经历了三个阶段的发展,到现在正式第三阶段到第四阶段的过渡期;第一阶段:定义的软件测试,是去证明软件是正确的。在这种情况下,导致了很多异常的情况根本无法被发现,软件的质量都比较差,不稳定,很容易出问题;第二阶段:软件测试是去证明软件是错误的。软件测试就是去找软件存在的问题,虽然现在软件测试已经发展到第三阶段很久了,但是...
            0 0 752
            分享
          •   一、配置架构  在微服务的代码工程中,配置管理是一项复杂的事情,即需要做好各个环境的配置隔离措施,还需要确保生产环境的配置安全;如果划分的微服务足够的多,还要考虑配置更新时的效率;  常规情况下,在配置管理的体系中,分为四个主要的环境:开发、测试、灰度、生产;通常来说除了运维团队之外,其他人员没有查看灰度和生产配置的权限,以此来保证配置的安全性;配置中心的服务也会搭建两套:研发与生产各自独立部署。  二、配置方式  在项目中涉及到的配置非常多,类型也很多,但是从大的结构上可以分为:工程级、应用级、组件级三大块;实际上这里只是单纯的从代码工程来看配置,如果把持续集成、自动化相关模块也考虑进来...
            0 0 974
            分享
          • Dify 的朋友们,很高兴告诉大家,我们刚刚发布了 V0.3.9 版本,在这个版本中有两个重要的新特性和大家同步:Dify 已接入 Antropic 的 Claude2、Claude-instant 模型。这意味着:你可以输入 100K token 超长上下文,相当于几百页的文档甚至是一本书!已支持在网页嵌入你的 AI 应用。这意味着,你能够在几分钟内就可以为你的官方网站创建一个具备你业务数据的 AI 智能客服。让我们一起来看看吧!接入 Antropic,解锁与 AI 超长对话限制Antropic 在数天前发布了新的 Claude 2 模型。它支持用户输出 100K token 的上下文,相当...
            0 0 1625
            分享
      • 51testing软件测试圈微信