在我的本地计算机上,我想使用 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:://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 网站:
是一个只读流,允许您从请求正文中读取原始数据。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"}'