如何使用curl发送PHP输入流数据?

问题描述 投票:0回答:1

发帖

在我的本地计算机上,我想使用 cURL 作为 HTTP 客户端,如下所示:

curl -X POST -F '[email protected]' -F 'password=blink182' http://example.com

上面的curl语句使用HTTP POST方法,可以像这样在PHP中检索:

echo $_POST['email'];       // [email protected]
echo $_POST['password'];    // blink182

php://输入

但是,我真正想要的是来自 PHP 输入流

php:://input
的数据,而不是来自 POST 方法
$_POST

可以像这样在 PHP 中检索 PHP 输入流:

$input = json_decode( file_get_contents( 'php://input' ) );
echo $input->email;     // [email protected]
echo $input->password;  // blink182

这让我想到了我的问题,如何使用curl发送PHP输入流数据?

php curl command-line-interface
1个回答
4
投票

来自 PHP 网站

php://input
是一个只读流,允许您从请求正文中读取原始数据。
php://input
不适用于
enctype="multipart/form-data"

因此,如果您使用

Content-Type
application/json
指定为
-H "Content-Type: application/json"
,您应该将其获取到输入流中

完整示例:

curl -X POST https://reqbin.com/echo/post/json
   -H 'Content-Type: application/json'
   -d '{"email":"[email protected]","password":"blink182"}'
© www.soinside.com 2019 - 2024. All rights reserved.