使用 cURL 将 JSON 发布到 PHP:解析空 POST 数组
在最近的 PHP 框架教程中,用户在尝试发布时遇到问题使用 cURL 将 JSON 数据传输至 PHP。该问题源于返回的空数组,表明 PHP 未正确解释 POST。
了解 PHP 对 JSON POST 的解释
默认情况下,cURL 的 -d参数将数据解释为表单编码。但是,JSON 不是表单编码格式。为了让 PHP 正确解释 JSON,您必须将内容类型指定为 application/json。
解决方案:
要解决此问题,请包含以下 -H 参数:
-H "Content-Type: application/json"
在 -d 参数之前。这将 POST 数据的内容类型指定为 JSON。
修改的 cURL 命令:
更新的 cURL 命令应如下所示:
curl -v -H "Content-Type: application/json" -X POST -d '{"screencast":{"subject":"tools"}}' \ http://localhost:3570/index.php/trainingServer/screencast.json
通过此修改,PHP 现在将正确地将您的 POST 数据解释为 JSON,并且您不应再遇到空数组。
以上是为什么 PHP 中的 cURL JSON POST 数组为空?的详细内容。更多信息请关注PHP中文网其他相关文章!