• Python调用webservice接口


    目录

    一、学习背景

    二、概念说明

    三、功能实现

    四、下载中心

    一、学习背景

    实际项目需要调用已经存在的webservice接口,插入邮件信息通过后台接口发送邮件。

    二、概念说明

    WebService概念:WebService遵循SOAP协议通过XML封装数据,然后由Http协议来传输数据。在常规的http接口中python直接用Requests库就能解决,但是webservice没办法用Requests来请求,我们需要通过第三方库来简单实现调用。

    三、功能实现

    系统环境 

    操作系统: Windows10 Pro

    Python版本:python-3.7.9 64bit

    引用库:suds-1.1.2

    这里我们使用suds包来调用webservice,需要先通过命令 pip install suds 安装库

    具体使用方法,我在代码里面有非常清楚的注释,最终代码展示:

    1. # -*- coding:UTF-8 -*-
    2. # Author by : Andy zhang
    3. # updated at : 2022/8/23
    4. # Version : 1.0.0
    5. # Install cmd:pip install suds
    6. #
    7. from suds.client import Client
    8. # 调用webservice接口发送邮件
    9. def sendemail(mfrom, mto, mcc, mbcc, subject, content, attach):
    10. try:
    11. # 要访问的Webservice地址
    12. prod_url = "http://192.168.31.200/axis2/services/Gms?wsdl"
    13. # 创建Webservice Client对象
    14. client = Client(prod_url)
    15. # print(client.option) #通过这个可以查看可以设置哪些options
    16. client.set_options(timeout=100) #设置请求超时时间
    17. # print(client) # 此方法可以打印出webservice提供哪些类型及方法
    18. # 调用对应方法 # insertMailboxII 是你的方法,(mfrom, mto, mcc, mbcc, subject, "PyRPA", content, attach) 为参数
    19. result = client.service.insertMailboxII(mfrom, mto, mcc, mbcc, subject, "PyRPA", content, attach)
    20. print(result)
    21. return True
    22. except Exception as e:
    23. print("failed to send email:" + e)
    24. return False
    25. if __name__ == '__main__':
    26. mfrom = "sender@163.com"
    27. mto = "a@163.com;b@163.com"
    28. mcc = ""
    29. mbcc = ""
    30. subject = "test"
    31. application = "PyRPA"
    32. content = "This test email was sent by RPA mail modules "
    33. attach = ""
    34. result = sendemail(mfrom, mto, mcc, mbcc, subject, content, attach)
    35. print(result)

    四、下载中心

    Python 3.7.9

    Windows64 位安装包下载地址:

    https://www.python.org/ftp/python/3.7.9/python-3.7.9-amd64.exe

    Mac 电脑安装包下载地址:

    https://www.python.org/ftp/python/3.7.9/python-3.7.9-macosx10.9.pkg

  • 相关阅读:
    LRU与LFU的原理与实现
    分别将Map以Key或Vale进行排序
    【神经网络入门】前向传播:激活函数和输出层设计
    centos7下docker的安装
    OpManager-系统性能监控工具
    UGUI DrawCall的优化 工作记录
    cewl工具(URL字典生成器)
    华为OD机考算法题:TLV解码
    mysql索引失效的几种情况
    pyspark常用功能记录
  • 原文地址:https://blog.csdn.net/gmaaa123/article/details/126558169