簡體   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