繁体   English   中英

如何获取没有内容长度的请求正文?

[英]How to get request body without content-length?

当请求中不包含content-length标头时,有什么方法可以检索请求正文?

例如,我在/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

我看到没有content-length标头,并且$ data为空。 例如,如果我指定内容长度为“ 3”,则将获得$ data的输出“ tes”。

有什么方法可以使php检索请求正文,而与content-length头无关吗?

当请求中不包含content-length标头时,有什么方法可以检索请求正文?

是。 但是您将其包括在请求中。

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"

您可以省略发送标头。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM