接⼝发送xml格式的数据如何测试?
什么是 xml ?
xml 是⼀种和 html ⾮常类似的语⾔,采取⼀定的格式展⽰数据。⽐如:
<note>
<to>你</to>
<from>我</from>
<heading>提醒</heading>
<body>今晚⼋点,不见不散</body>
</note>
这个例⼦⾮常形象的指明:
这是⼀个便条
便条是给你的
便条是我写的
标题是:提醒
内容是:今晚⼋点,不见不散
xml 和 html 的区别
xml 设计的初衷在于传输数据,重点在数据;
html 设计的初衷在于展⽰数据,重点在展⽰;
html 通过和 css 的组合能展现⾮常美观的效果,xml 志不在此。
接⼝当中为什么会有 xml ?
xml 的作⽤和 json 实在是太像了。通过 json, 可以代替 xml 的作⽤:
{
"note": {
"to": "你",
"from": "我",
"heading": "提醒",
"body": "今晚⼋点,不见不散",
}
}
以前,接⼝通常会采⽤ xml 来传输数据。⽽现在,⼤多数接⼝都是采⽤ json 进⾏数据传递, xml 已经被冷落了,主要的原因是:json 数据传输量较⼩,xml 常常要使⽤各种属性,冗余信息较多;
json ⽀持数字, 布尔, null, 数组,对象等通⽤格式,xml 都是⽂本;
json 解析更⽅便
但是,还是有⼀些公司的接⼝是采⽤ xml, ⽐如⼤名⿍⿍的,很多接⼝还是采⽤ xml。原因是 xml 在⼀些特定领域还占有⼀些优势:
可读性稍微占优势;
对于 UI 页⾯,可以更⽅便的使⽤属性这样⼀种形态进⾏页⾯数据的传输,⽐如安卓应⽤。
历史优势。 xml 相⽐ json 发展更早,还有很多有经验的程序员偏爱 xml, Java 程序员有喜欢 xml 的倾向(现在已经很少了)。的很多 api 还是⽤ xml, 也许是出于这些原因。
xml 和 json 的区别,归根结底在于他们表达数据的⽅式不同,xml ⽤的是树形结构, json 对应的是 hash 映射。
使⽤⼯具测试 xml 数据接⼝
接⼝发送 xml 格式的数据和发送 json ⼏乎⼀样,只需要把格式改成 xml 就可以了。
<note>
<to>you</to>
python处理xml文件<from>yuz</from>
<heading>hey</heading>
<body>8 tonight</body>
</note>
postman 数据填写:
通过 fiddler 抓包可以查看到发送的数据:
通过 postman 查看返回结果:
通过上⾯的例⼦得出:
xml 格式的发送只需要修改请求头格式
请求头格式为Content-Type: application/xml
使⽤ python 编程语⾔测试 xml 数据接⼝
使⽤ python 语⾔的 requests 库可以很⽅便的发送 xml 格式的数据,只需要把请求头格式换成 application/xml 就可以了:import requests
xml_data = """
<note>
<to>you</to>
<from>yuz</from>
<heading>hey</heading>
<body>8 tonight</body>
</note>
"""
header = {"content-type": "application/xml"}
res = requests.post('/post', data=xml_data, headers=header)
xml 数据存储在⽂件当中
测试数据如果不是通过在代码中直接传递,⽽是通过⽂件形式存储,则使⽤ python 当中的 open 函数直接读取。
相应代码:
xml_data = open('l').read()
header = {"content-type": "application/xml"}
res = requests.post('/post', data=xml_data, headers=header)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论