ホームページ > バックエンド開発 > PHPチュートリアル > cURL を使用して JSON データを PHP サーバーに適切にポストするにはどうすればよいですか?

cURL を使用して JSON データを PHP サーバーに適切にポストするにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-11-30 13:27:12
オリジナル
950 人が閲覧しました

How to Properly Post JSON Data to a PHP Server Using cURL?

curl を使用した PHP への JSON の投稿: 失われたリンクの解明

PHP での JSON データ送信にcurl post コマンドを利用しようとすると、 POST データの PHP 解釈として空の配列の問題が発生する可能性があります。これを解決するには、コマンド構造を変更することが秘訣です。

誤解に対処する

デフォルトでは、curl の -d パラメータはフォーム エンコードされたデータを期待します。 JSON コンテンツを正しく解釈するように PHP に指示するには、-H パラメーターを導入する必要があります。正しいコマンド構文は次のとおりです。

curl -v -H "Content-Type: application/json" -X POST -d '{"screencast":{"subject":"tools"}}' \
http://localhost:3570/index.php/trainingServer/screencast.json
ログイン後にコピー

-H パラメーターに「Content-Type: application/json」を指定することで、POST データが JSON 形式であることが PHP に通知されます。これにより、PHP は JSON オブジェクトを適切に解析して処理し、「tools」値を「subject」プロパティに割り当てることができます。

応答例

変更されたコマンドの実行時、PHP サーバーからの応答には正しく解釈された JSON データが反映されるようになり、空の配列:

HTTP/1.1 200 OK
Date: Fri, 01 May 2009 22:03:00 GMT
Server: Apache/2.2.8 (Win32) PHP/5.2.6
Content-Type: application/json; charset=utf-8

{
  "screencast": {
    "id": null,
    "subject": "tools",
    "body": null,
    "dataUrl": null,
    "dataMedium": null,
    "createdOn": null,
    "author": null
  }
}
ログイン後にコピー
の問題がなくなりました。

以上がcURL を使用して JSON データを PHP サーバーに適切にポストするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート