ホームページ >バックエンド開発 >PHPチュートリアル >cURL POST リクエストの CURLOPT_POSTFIELDS のデータを適切にフォーマットするにはどうすればよいですか?
CURLOPT_POSTFIELDS による POST データの処理
POST リクエストにcurlを利用する場合、CURLOPT_POSTFIELDSを通じてデータを提供するには、その形式に注意する必要があります。単純な文字列パラメータの場合は、URL エンコードが必要です。たとえば、値「John」と「Smith」を持つ 2 つのフィールド「first」と「last」をポストするには、データ文字列は次のようになります。
first=John&last=Smith
次のカール コード スニペットでは、
$ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $data); $reply = curl_exec($ch); curl_close($ch);
$data が、単純なパラメーターの場合は URL エンコードされた文字列であるか、複雑なデータの場合は連想配列であることを確認することが重要です。配列の場合、curl は Content-Type ヘッダーを multipart/form-data に自動的に設定します。
データが配列の場合は、http_build_query() を使用してクエリ文字列を生成できます。
$query = http_build_query($data, '', '&');
これらの書式設定ガイドラインに従うことで、curl の CURLOPT_POSTFIELDS を使用した POST リクエストを通じてデータを効果的に送信できます。
以上がcURL POST リクエストの CURLOPT_POSTFIELDS のデータを適切にフォーマットするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。