在通过POST lwp-request请求后,$ _POST为空

时间:2012-11-05 17:15:19

标签: php post lwp

我正在从命令行(Ubuntu)发送POST请求:

echo -n '{"prop":"value"}' | POST -c -U "application/json" http://site.com/test

服务器脚本输出$ _POST:

<?php 
  var_dump ($_POST);
?>

我在输出中看到:Content-Length: 16,但是在服务器响应中我得到了

array(0){
}

我哪里弄错了?

1 个答案:

答案 0 :(得分:3)

$_POST包含作为普通表单数据提交的数据的键值对。因为您发送了JSON数据,所以它不会被解析相同。

您需要检索请求正文。您可以使用http_get_request_body()或使用fopen('php://input')将正文视为文件。阅读完请求正文后,您可以使用json_decode()对其进行解析。

$x = json_decode(http_get_request_body());

请参阅: