答案是通过 POST 方法在请求体中发送 xml 数据,需设置 Content-Type 为 application/xml 或 text/xml,确保 XML 格式正确。使用curl 或 Fetch API 等 工具 将合法 XML字符串 作为请求体传输,服务器端需配置相应解析器处理 XML 内容,避免 415 错误。关键步骤依次为:设置请求头、构造合规 XML、写入请求体 并发 送。

在 http 请求中发送 XML 数据,通常通过请求体(Request Body)将 XML 格式的内容传输给服务器。这种方式常见于 API接口 调用、Web 服务通信(如 SOAP)等场景。关键在于正确设置请求头和请求体内容。
使用 POST 方法发送 XML 数据
最常用的方式是使用 HTTP 的 POST 方法,在请求体中携带 XML 数据。需要确保以下几点:
- 设置正确的 Content-Type 头:告知服务器请求体中数据的格式。发送 XML 时应设置为 text/xml 或 application/xml。
- 构造合法的 XML 内容 :XML 必须格式正确,包括正确的标签闭合、字符 编码、根元素等。
- 将 XML 写入请求体:在发送请求时,把 XML 字符串作为请求体内容发送。
示例:使用 curl 发送 XML
以下是一个使用 curl 命令发送 XML 的示例:
curl -X POST http://example.com/api/data -H "Content-Type: application/xml" -d ‘<user><name> 张三 </name><age>30</age></user>’
说明:
-
-H "Content-Type: application/xml"告诉服务器数据是 XML 格式。 -
-d后面是 XML 字符串,会被放入请求体中。
代码示例:javaScript(Fetch API)
fetch(‘http://example.com/api/data’, {
method: ‘POST’,
headers: {
‘Content-Type’: ‘application/xml’
},
body: ‘<message><content>Hello</content></message>’
});
服务器端接收注意事项
服务器需能解析 XML 格式的请求体。例如在 Node.js + express中,可使用 中间件 如 body-parser 配合 XML 解析库(如 xml2js),在 Java 中可用 JAXB 或 Jackson XML 模块。
确保服务器按 application/xml 或 text/xml 类型处理请求体,避免返回 415 Unsupported Media Type 错误。
基本上就这些。只要 XML 格式正确,请求头设置得当,就能成功发送。不复杂但容易忽略的是 Content-Type 的准确性和 XML 的合法性。


