记录POST原始数据的PHP脚本

i7uaboj4  于 2023-01-29  发布在  PHP
关注(0)|答案(4)|浏览(160)

我正在使用HTTP POST动词发送数据。但是我没有在服务器端接收到数据,尽管客户端报告了状态代码200。我可以看到连接,并且数据已成功发送,但是在服务器上找不到数据,日志仅显示字节数。
如何记录发送到服务器的原始POST数据?
顺便说一句,这里的客户端是一个嵌入式设备,功能非常有限,所以这是一个问题。我不能检查print_recho

gcmastyq

gcmastyq1#

您可以使用以下命令查看使用 post 动词发送的任何数据的内容(不适用于生产):

print_r($_POST);

如果您想查看来自动词 getpostcookie 的数据:

print_r($_REQUEST);

如果您需要记录,因为客户端非常有限-尝试将 post 数据输出到文件:

file_put_contents("post.log", print_r($_POST, true));
file_put_contents("gpc.log", print_r($_REQUEST, true));
6za6bjd0

6za6bjd02#

将发布数据写入文件:

file_put_contents('/tmp/postdata.txt', var_export($_POST, true));
6l7fqoea

6l7fqoea4#

要从php获得原始的post,你必须使用file_get_contents("php://input")
这将允许您捕获请求的原始主体,而不是仅捕获表单数据($_POST)。
也就是说,您可以使用

file_put_contents("post.log", file_get_contents("php://input"));

这将允许您使用Json数据和其主体中的其他内容记录POST请求。

相关问题