首页 科技正文

usdt卖出手续费(www.payusdt.vip):Exchange Web Service(EWS)开发指南3——SOAP XML Parser

admin 科技 2021-04-22 33 0 技术

USDT交易平台

U交所(www.payusdt.vip),全球頂尖的USDT場外擔保交易平臺。

0x00 前言

在之前的文章《Exchange Web Service(EWS)开发指南2——SOAP XML message》先容了SOAP XML message的使用,通过Python实现了行使hash对Exchange资源的接见。

当我们通过SOAP XML message读取邮件时,尝尝会遇到以下穷苦:由于每一封邮件对应一份原始的XML文件,原始的XML文件包罗完整的邮件信息,人工剖析邮件将花费大量精神。

于是,本文将要先容一种SOAP XML剖析器的实现方式,编写工具实现自动提取有价值的邮件信息,提高阅读效率。

0x01 简介

本文将要先容以下内容:

· 适用环境

· 设计思绪

· 开源Python实现代码

· 代码开发细节

0x02 设计思绪

通过SOAP XML message读取收件箱中的所有邮件,需要以下步骤:

1.使用ewsManage.py的listmailofinbox下令获得每一封邮件的ItemId和ChangeKey

2.循环使用ewsManage.py的getmail下令,传入每封邮件对应的ItemId和ChangeKey

3.划分将返回效果保留为XML花样的文件,每一个XML文件对应一封邮件

为了保证SOAP XML剖析器的通用性,能够配合差其余工具,以是将SOAP XML剖析器设计成了文件治理器的结构,选中XML文件将会自动剖析,提取有价值的信息并显示,在设计上遵照以下原则:

· 开发语言选用Python,为了提高便捷性,所有使用Python的尺度库

· 文件治理器涉及到Python的界面开发,使用尺度GUI库Tkinter

· SOAP(Simple Object Access Protocol)协议在本质上仍为XML协议,在剖析上使用尺度库xml.dom.minidom

注:若是使用字符串匹配的方式对XML文件剖析,还需要思量转义字符。

0x03 程序实现

1.文件治理器的实现

Tkinter的使用:

https://docs.python.org/3/library/tk.html

这里可以基于开源的file-manager-mask举行二次开发,修改如下部门:

· 去掉图片显示功效

· 去掉编辑文本的功效

· 添加XML文件剖析的功效

2.XML文件剖析

xml.dom.minidom的使用:

https://docs.python.org/3/library/xml.dom.minidom.html

这里需要提取以下内容:

· 邮件题目

· 发件人

· 收件人

· 抄送

· 吸收时间

· 附件名称

· 正文内容

在数据提取上有以下差其余情形:

注:XML标签对巨细写敏感。

(1)提取节点属性

响应新闻的花样示例:

,

USDT场外交易平台

U交所(www.payusdt.vip)是使用TRC-20协议的Usdt官方交易所,开放USDT帐号注册、usdt小额交易、usdt线下现金交易、usdt实名不实名交易、usdt场外担保交易的平台。免费提供场外usdt承兑、低价usdt渠道、Usdt提币免手续费、Usdt交易免手续费。U交所开放usdt otc API接口、支付回调等接口。

,

提取节点"m:GetItemResponseMessage"的属性"ResponseClass",代码如下:

from xml.dom import minidom
dom = minidom.parse("TestMail.xml")
data_response = dom.getElementsByTagName("m:GetItemResponseMessage")
print(data_response[0].getAttribute("ResponseClass"))

(2)直接提取标签对之间的数据

邮件题目的花样示例:

正文内容的花样示例:

吸收时间的花样示例:

提取节点"t:Subject"的内容,代码如下:

发件人的花样示例:

这里需要思量父节点和子节点。

注:发件人通常只有一个,以是不需要思量循环提取。

提取父节点"t:Sender"的子节点"t:Name"内容,代码如下:

(3)循环提取标签对之间的数据

收件人的花样示例:

抄送人的花样示例:

附件的花样示例:

这里需要思量父节点和兄弟节点

提取父节点"t:ToRecipients"的所有子节点"t:Name"的内容,代码如下:

以上代码跳过了对节点"t:Mailbox"的判断,若是加上判断,代码如下:

当完成了对XML文件的数据提取后,需要思量若何将数据显示到文件治理器的窗口上。

这里要用到insert函数。

参数说明:

https://docs.python.org/3.8/library/tkinter.ttk.html?highlight=insert,tkinter.ttk.Notebook.insert

对于参数pos,END代表从最后一行插入,数字代表从指定行插入(例如第一行为1.0)

完整的代码已上传至Github,地址如下:

https://github.com/3gstudent/Homework-of-Python/blob/master/Exchange_EWS_XML_Parser.py

代码支持以下功效:

· 文件治理器,便于查看多个文件,可以通过键盘偏向键实现文件切换

· XML文件剖析,能够从Exchange SOAP XML message中自动提取出有价值的信息,符号不符及花样的XML文件

运行界面如下图:

后续可以连系ewsManage.py开发完整的Exchange界面化客户端程序,实现行使hash读取Exchange邮件。

0x04 小结

本文先容了一种SOAP XML剖析器的实现方式,编写工具实现自动从Exchange SOAP XML message中提取邮件信息,开源Python实现代码,剖析代码开发细节。

本文为 3gstudent 原创稿件,授权嘶吼独家宣布,
版权声明

本文仅代表作者观点,
不代表本站Allbet欧博官网的立场。
本文系作者授权发表,未经许可,不得转载。

评论