1

如果我将数据发布到我的 Web 服务器上的测试脚本(来自远程源),则 $_POST 数组为空,但 HTTP_RAW_POST_DATA 具有发布的信息。

使用表单在本地发布的数据可以正常工作。

服务器是 Ubuntu 12.04/Apache/PHP 5.3.10,它是一个标准版本。

更新

我用它来测试端点https://chrome.google.com/webstore/detail/advanced-rest-client/hgmloofddffdnphfgcellkdfbfbjeloo/

这是我正在实施的 REST 服务器https://github.com/philsturgeon/codeigniter-restserver。它已安装在标准 LAMP 堆栈上,并安装了全新的 codeigniter。

没有重定向发生。

4

2 回答 2

2

你确定你没有得到某种重定向吗?例如,您将帖子数据发送到http://somedomain.com,它会自动将您重定向到https://somedomain.comhttp://www.somedomain.com ...您会以这种方式丢失您的帖子数据。

于 2013-06-07T23:05:19.467 回答
1

1 . $_POST 包含 URL 编码(应用程序/www-url-encoded)变量,这些变量发布到您的脚本,PHP 会为您解码它们。在处理 HTML FORM 数据时使用这个。

2 . $HTTP_RAW_POST_DATA - 获取原始 POST 数据,当您编写 API 并且需要无法被 PHP 解码为 $_POST 的 XML/JSON/... 输入时,您需要使用它。

于 2013-06-07T23:05:25.850 回答