首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >php://input输出一个空字符串

php://input输出一个空字符串
EN

Stack Overflow用户
提问于 2019-03-29 09:08:10
回答 1查看 494关注 0票数 5

我从失眠症(一个类似于PostMan的软件)发送这个请求。我正在发送一个简单的XML文件。

代码语言:javascript
复制
<?xml version='1.0' encoding='UTF-8'?>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>

上,我只有内容-Type: application/xml,我将其发送到一个包含以下代码的文件:

代码语言:javascript
复制
$xml = file_get_contents('php://input');

echo "<pre>";
print_r(htmlspecialchars($xml));
echo "</pre>";

输出一个空字符串。在我的本地服务器上,它输出的xml文件应该是什么样的。

我在付费服务器上的设置是:

我的失眠症屏幕是这样的:

输出来自以下代码:

代码语言:javascript
复制
echo "<pre>";
print_r($_POST);
echo "</pre>";

输出空数组,并:

代码语言:javascript
复制
if (!empty($_SERVER['CONTENT_TYPE']) && $_SERVER['CONTENT_TYPE'] == 'application/xml') {
    echo "application/xml";
}

输出"application/xml“。

答案:在我的例子中,我应该用HTTPS而不是HTTP来编写地址。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-03-29 10:02:13

许多因素可以影响到这一点:

  • 这可能是因为您访问的站点url不正确。http://mysitehttps://mysite是两个不同的站点。
  • 如果您将请求作为表单数据发送,则可能发生这种情况。
  • 同样,如果allow_url_fopen设置为Off。要允许url打开,只需在php.iniini_set("allow_url_fopen", true);中添加一行
  • 如果您将mysite.com重定向到something.mysite.com或反之亦然,甚至可能发生这种情况。要验证任何重定向,首先应该检查.htaccess。如果没有使用.htaccess重定向,那么在超全局(如$_SESSION )中添加某种计数并增加它。如果计数大于1,则有重定向。
  • 您可能可以在服务器日志中找到一些信息。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55413891

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档