cURL を使用して PHP にポストされた JSON データを正しく解釈する方法
cURL を使用して JSON データを PHP バックエンドにポストしようとすると、投稿されたデータが PHP で空の配列として表示されるという問題が発生しました。この矛盾は、cURL が -d パラメータを解釈する方法の誤解から生じています。
デフォルトでは、cURL は、-d パラメータで送信されたデータがフォーム エンコードされていると想定します。ただし、あなたの場合は JSON データを送信しています。これに対処するには、-H パラメータを使用して Content-Type ヘッダーを指定する必要があります。
curl -v -H "Content-Type: application/json" -X POST -d '{"screencast":{"subject":"tools"}}' \ http://localhost:3570/index.php/trainingServer/screencast.json
この変更により、cURL はデータを JSON として適切に送信し、PHP はデータを正しく解析できるようになります。 。その結果、処理された JSON データを含む有効な応答を受け取ることが期待できます。
以上がcURL POST 後に JSON データが空の配列として PHP に届くのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。