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 中国語 Web サイトの他の関連記事を参照してください。