ホームページ >バックエンド開発 >PHPチュートリアル >CURLOPT_POSTFIELDS は cURL POST リクエストの文字列および配列データをどのように処理しますか?

CURLOPT_POSTFIELDS は cURL POST リクエストの文字列および配列データをどのように処理しますか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-12-08 12:27:14554ブラウズ

How Does CURLOPT_POSTFIELDS Handle String and Array Data in cURL POST Requests?

CURLOPT_POSTFIELDS と cURL の POST データ形式

POST リクエストに cURL を使用する場合、CURLOPT_POSTFIELDS を通じて送信されるデータの形式は、の性質data.

文字列データ:

「first=John&last=Smith」などの文字列を送信する場合は、urlencode() を使用してエンコードする必要があります。これにより、アンパサンド (&) などの文字がデータ送信に干渉するのを防ぎます。

配列データ:

配列データの場合、cURL は Content-Type ヘッダーをマルチパートに自動的に設定します。 /form-data: マルチパート フォーム データを送信するために不可欠です。配列内の各キーと値のペアは、フォーム フィールドとその値に対応します。

たとえば、配列 $data = ['first' => があるとします。 'ジョン'、'最後' => 'Smith'] では、CURLOPT_POSTFIELDS を次のように設定できます:

curl_setopt($ch, CURLOPT_POSTFIELDS, $data);

cURL は、必要なマルチパート フォーム データ エンコーディングを自動的に生成します。

ヘルパー関数:

以下を使用すると、配列データのクエリ文字列を構築するプロセスを簡素化できます。 http_build_query() 関数:

$query = http_build_query($data, '', '&');
curl_setopt($ch, CURLOPT_POSTFIELDS, $query);

以上がCURLOPT_POSTFIELDS は cURL POST リクエストの文字列および配列データをどのように処理しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。