ホームページ > バックエンド開発 > PHPチュートリアル > PHP cURL を使用して JSON データを正しく POST する方法

PHP cURL を使用して JSON データを正しく POST する方法

Barbara Streisand
リリース: 2024-12-23 12:52:16
オリジナル
518 人が閲覧しました

How to Correctly POST JSON Data Using PHP cURL?

PHP cURL を使用して JSON データを投稿する方法?

この質問は、PHP の cURL ライブラリを使用して JSON データを投稿する問題に取り組みます。ユーザーは、POST データを特定の URL に送信することを目的としたコード スニペットを提供します。ただし、コードは受信ページで投稿されたデータの取得に失敗し、空の配列が生成されます。

問題の詳細

問題は、JSON データが投稿される方法が間違っていることにあります。さらに、コードは print_r($_POST) を使用して投稿されたデータを取得しますが、これは推奨される方法ではありません。

解決策

cURL を使用して JSON データを正しく投稿するには、次のことを確認することが重要です。データは適切に JSON エンコードされています。指定されたコード スニペットでは、「customer」POST フィールドの値のみが JSON エンコードされています。代わりに、POST データ全体を JSON エンコードする必要があります。

さらに、受信ページで投稿されたデータを取得するには、file_get_contents("php://input") 関数を利用できます。投稿された JSON データ。

サンプル コード

これは、PHP で JSON データを正しく投稿する方法の例です。 cURL:

<?php

$url = 'url_to_post';

$data = [
    "first_name" => "First name",
    "last_name" => "last name",
    "email" => "email@example.com",
    "addresses" => [
        "address1" => "some address",
        "city" => "city",
        "country" => "CA",
        "first_name" => "Mother",
        "last_name" => "Lastnameson",
        "phone" => "555-1212",
        "province" => "ON",
        "zip" => "123 ABC",
    ],
];

$data_string = json_encode($data);

$ch = curl_init($url);
# Setup request to send json via POST.
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type:application/json']);
# Return response instead of printing.
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
# Send request.
$result = curl_exec($ch);
curl_close($ch);

# Print response.
echo "<pre class="brush:php;toolbar:false">$result
"; ?>
ログイン後にコピー

さらに、ユーザーは Shopify の API 仕様に従って JSON を使用して REST を実装する意向を表明します。プロセスを簡素化し、潜在的なエラーを減らすことができるため、Shopify API とのインターフェース用に特別に設計されたサードパーティ ライブラリを使用することを強くお勧めします。

以上がPHP cURL を使用して JSON データを正しく POST する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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