ホームページ >バックエンド開発 >PHPチュートリアル >cURL POST リクエストで CURLOPT_POSTFIELDS を適切にフォーマットするにはどうすればよいですか?

cURL POST リクエストで CURLOPT_POSTFIELDS を適切にフォーマットするにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-12-25 07:08:09901ブラウズ

How to Properly Format CURLOPT_POSTFIELDS in cURL POST Requests?

Curl for POST リクエストの CURLOPT_POSTFIELDS

curl を使用して POST リクエストを実行し、CURLOPT_POSTFIELDS オプションを指定する場合は、次の点を考慮することが重要です。適切なフォーマット。たとえば、「first」と「last」という 2 つのフィールドを投稿することを検討してください。

"first=John&last=Smith"

String Formatting

If文字列を POST データとして送信する場合は、適切な文字エンコードを確保するために URL エンコードする必要があります。次のコードはこれを示しています:

$data = urlencode("first=John&last=Smith");

配列のフォーマット

ただし、POST データが配列の場合は、「key => value」の後に続く必要があります。 format:

$data = [
    'first' => 'John',
    'last' => 'Smith'
];

この場合、curl は Content-Type ヘッダーを自動的に次のように設定します。 "multipart/form-data".

Content-Type ヘッダー

互換性を高めるために、Content-Type ヘッダーを明示的に設定することをお勧めします。たとえば、「application/json」に設定するには:

curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']);

Using http_build_query()

または、クエリ文字列を手動で構築する代わりに、PHP の http_build_query () 関数は次のようにすることができます使用:

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

この関数は、URL エンコーディングと適切な key=value フォーマットをシームレスに処理します。

以上がcURL POST リクエストで CURLOPT_POSTFIELDS を適切にフォーマットするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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