在使用Postman进行接口调试时,发送XML格式的POST请求是很多开发者会遇到的需求,尤其是在对接传统接口或者特定行业的标准接口时,XML格式的数据传输仍然十分常见。下面详细介绍完整的操作步骤。

步骤一:创建POST请求
打开Postman应用,点击左上角的New按钮,选择Request,输入请求名称后选择保存的Collection,点击Save to [Collection名称]完成请求创建。在请求方法下拉框中选择POST,然后输入接口的完整URL地址。
步骤二:配置请求头
切换到Headers标签页,添加两个必要的请求头参数:
- Key:Content-Type,Value:application/xml
- Key:Accept,Value:application/xml
Content-Type用于告诉服务端当前请求发送的数据格式是XML,Accept用于告诉服务端客户端期望接收的响应数据格式是XML。如果服务端有特殊要求,也可以根据接口文档调整对应的值。
步骤三:编写XML请求体
切换到Body标签页,选择raw选项,然后在右侧的格式下拉框中选择XML,在输入框中编写符合接口要求的XML内容。以下是一个简单的XML请求体示例:
<?xml version="1.0" encoding="UTF-8"?>
<user>
<id>1001</id>
<name>张三</name>
<age>25</age>
<email>test@ipipp.com</email>
</user>
编写完成后可以点击右侧的Pretty按钮格式化XML内容,确保语法没有错误。如果XML中有特殊字符,比如<、>、&,需要进行对应的转义处理,避免请求体格式错误。
步骤四:发送请求并查看响应
点击右上角的Send按钮发送请求,等待服务端返回响应。响应内容会显示在下方的响应区域,如果响应头中的Content-Type也是application/xml,Postman会自动格式化XML响应内容,方便查看。
常见问题及解决方法
问题1:服务端返回415 Unsupported Media Type
这个错误通常是Content-Type请求头没有设置或者设置错误导致的,检查Headers中是否添加了Content-Type为application/xml的配置,确保没有拼写错误。
问题2:服务端返回400 Bad Request
一般是XML请求体格式错误导致的,检查XML的标签是否闭合、是否有未转义的特殊字符、是否符合接口要求的XML结构,可以先用XML格式校验工具验证请求体的合法性。
问题3:响应内容不是XML格式
检查Accept请求头是否设置为application/xml,如果服务端支持多种响应格式,没有设置Accept的话可能会返回默认的其他格式数据。
代码示例:使用Python模拟发送XML POST请求
如果需要在代码中实现同样的功能,以下是使用Python的requests库发送XML格式POST请求的示例:
import requests
# 接口地址
url = "http://127.0.0.1:8080/api/user"
# 请求头
headers = {
"Content-Type": "application/xml",
"Accept": "application/xml"
}
# XML请求体
xml_data = """<?xml version="1.0" encoding="UTF-8"?>
<user>
<id>1001</id>
<name>张三</name>
<age>25</age>
<email>test@ipipp.com</email>
</user>"""
# 发送POST请求
response = requests.post(url=url, headers=headers, data=xml_data.encode("utf-8"))
# 打印响应结果
print("响应状态码:", response.status_code)
print("响应内容:", response.text)