如何在没有内容长度的情况下获取请求正文



当请求中不包含内容长度标头时,有什么方法可以检索请求正文吗?

例如,我在/var/www/test.php 中有这个:

print_r(apache_request_headers());
$data = file_get_contents('php://input');
var_dump($data);

并运行以下命令:

curl -X POST -d test --header 'Content-Length: ' localhost/test.php

我看到没有内容长度标题,$data是空的。例如,如果我指定内容长度为"3",我会得到$data"tes"的输出。

有没有办法让php检索请求正文,而不考虑内容长度的标头?

当内容长度时,有没有办法检索请求正文 标头未包含在请求中?

是的。但是您将其包含在请求中。

curl -d test localhost/test.php应返回:

Array
(
    [User-Agent] => curl/7.xx.x
    [Host] => localhost
    [Accept] => */*
    [Content-Length] => 4
    [Content-Type] => application/x-www-form-urlencoded
)
string(4) "test"

您可以省略发送标头。

相关内容

  • 没有找到相关文章

最新更新