如何在Laravel中獲取HTTP請求正文的內容?


要獲取HTTP請求的詳細資訊,你需要使用Illuminate\Http\Request類。

使用上述類,你可以從HTTP請求中獲取輸入、cookie和檔案。現在考慮以下表單:

要獲取HTTP請求中的所有詳細資訊,你可以這樣做:

示例1

使用`$request->all()`方法

按照如下所示在表單中輸入詳細資訊:

提交後,它將檢索所有輸入資料並返回包含資料的陣列。

public function validateform(Request $request) { $input = $request->all(); print_r($input); }

輸出

以上程式碼的輸出為:

Array (
   [_token] => 367OQ9dozmWlnhu6sSs9IvHN7XWa6YKpSnnWrBXx
   [name] => Rasika Desai
   [email] => rasika@gmail.com
   [age] => 20
   [address] => Pune
)

示例2

使用`$request->collect()`方法。

此方法將資料作為集合返回。

public function validateform(Request $request) { $input = $request->collect(); print_r($input); }

輸出

以上程式碼的輸出為:

Illuminate\Support\Collection Object (
   [items:protected] => Array(
      [_token] => 367OQ9dozmWlnhu6sSs9IvHN7XWa6YKpSnnWrBXx
      [name] => Rasika Desai
      [email] => rasika@gmail.com
      [age] => 20
      [address] => Pune
   )
   [escapeWhenCastingToString:protected] =>
)

示例3

使用`$request->getContent()`方法。

此方法的輸出為URL查詢字串,資料以鍵值對的形式傳遞。

public function validateform(Request $request) { $input = $request->getContent(); echo $input; }

輸出

以上程式碼的輸出為

_token=367OQ9dozmWlnhu6sSs9IvHN7XWa6YKpSnnWrBXx&name=Rasika+Desai&email=rasika%40gmail.com&age=20&address=Pune

示例4

使用`php://input`

這將返回來自URL查詢字串中輸入欄位的資料。

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

輸出

以上程式碼的輸出為:

_token=367OQ9dozmWlnhu6sSs9IvHN7XWa6YKpSnnWrBXx&name=Rasika+Desai&email=rasika%40gmail.com&age=20&address=Pune

更新於:2022年8月30日

11K+ 次瀏覽

啟動你的職業生涯

完成課程獲得認證

開始學習
廣告