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

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

Linda Hamilton
リリース: 2024-12-25 07:08:09
オリジナル
905 人が閲覧しました

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 サイトの他の関連記事を参照してください。

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