我正在使用HTTP POST动词发送数据。但是我没有在服务器端接收到数据,尽管客户端报告了状态代码200。我可以看到连接,并且数据已成功发送,但是在服务器上找不到数据,日志仅显示字节数。如何记录发送到服务器的原始POST数据?顺便说一句,这里的客户端是一个嵌入式设备,功能非常有限,所以这是一个问题。我不能检查print_r或echo。
gcmastyq1#
您可以使用以下命令查看使用 post 动词发送的任何数据的内容(不适用于生产):
print_r($_POST);
如果您想查看来自动词 get、post、cookie 的数据:
print_r($_REQUEST);
如果您需要记录,因为客户端非常有限-尝试将 post 数据输出到文件:
file_put_contents("post.log", print_r($_POST, true)); file_put_contents("gpc.log", print_r($_REQUEST, true));
6za6bjd02#
将发布数据写入文件:
file_put_contents('/tmp/postdata.txt', var_export($_POST, true));
rslzwgfq3#
您可以尝试sniffing the HTTP session。
6l7fqoea4#
要从php获得原始的post,你必须使用file_get_contents("php://input")。这将允许您捕获请求的原始主体,而不是仅捕获表单数据($_POST)。也就是说,您可以使用
file_get_contents("php://input")
$_POST
file_put_contents("post.log", file_get_contents("php://input"));
这将允许您使用Json数据和其主体中的其他内容记录POST请求。
4条答案
按热度按时间gcmastyq1#
您可以使用以下命令查看使用 post 动词发送的任何数据的内容(不适用于生产):
如果您想查看来自动词 get、post、cookie 的数据:
如果您需要记录,因为客户端非常有限-尝试将 post 数据输出到文件:
6za6bjd02#
将发布数据写入文件:
rslzwgfq3#
您可以尝试sniffing the HTTP session。
6l7fqoea4#
要从php获得原始的post,你必须使用
file_get_contents("php://input")
。这将允许您捕获请求的原始主体,而不是仅捕获表单数据(
$_POST
)。也就是说,您可以使用
这将允许您使用Json数据和其主体中的其他内容记录POST请求。