如何在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+ 次浏览

启动你的职业生涯

完成课程获得认证

开始学习
广告
© . All rights reserved.