我在 PHP 中将 HTTP 标头设置为:
header("Content-Type: application/xml");
我得到以下回应:
<?xml version="1.0" encoding="utf-8"?>
<feedback>
<result>False</result>
</feedback>
但是当我检查标题时,它说响应类型是application/atom+xml. 我需要这个application/xml格式。这个问题的原因可能是什么?
我在 PHP 中将 HTTP 标头设置为:
header("Content-Type: application/xml");
我得到以下回应:
<?xml version="1.0" encoding="utf-8"?>
<feedback>
<result>False</result>
</feedback>
但是当我检查标题时,它说响应类型是application/atom+xml. 我需要这个application/xml格式。这个问题的原因可能是什么?
没有理由不应该这样做。我刚刚使用该 xml 尝试了一个简单的测试用例,它肯定对我有用。
<?php
header("Content-Type: application/xml");
?><?xml version="1.0" encoding="utf-8"?>
<feedback>
<result>False</result>
</feedback>
要么您的 php 有更多您没有向我们展示的内容,要么您的服务器软件中可能有一些错误配置。
更新
根据您在回答中提供的信息,我想说您可以通过将根元素更改为任何不以<feed. 正如我在评论中所说,有些东西错误地将其解释为 Atom 提要并重写了内容类型。
也就是说,假设有其他字符串(例如<rss)可能会触发内容类型的其他重写,因此如果您可以追踪导致错误的任何系统并摆脱它,那将是可取的。
我不能说什么技术解释。但是更改 XML 内容解决了我的问题。这是一个轻微的变化。我刚刚添加了一个顶级分支元素,
<?xml version="1.0" encoding="utf-8"?>
<data>
<feedback>
<result>True</result>
</feedback>
</data>