PHP での HTTP POST データの処理
フォーム データを Web サーバーに送信する場合、一般的なアプローチでは、 HTTP POST 経由でデータを送信します。ただし、特定のシナリオでは、フォームに依存せずに PHP コードから直接 POST データを送信する必要がある場合があります。
直接 POST データ送信
POST データを送信するにはPHPにおけるフォーム、cURL(Client URL Library)として知られる方法を採用することができる。その方法は次のとおりです。
$url = 'http://www.example.com'; $postData = [ 'myVar1' => 'value1', 'myVar2' => 'value2' ]; $postFields = http_build_query($postData); $curl = curl_init($url); curl_setopt($curl, CURLOPT_POST, true); curl_setopt($curl, CURLOPT_POSTFIELDS, $postFields); curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); $response = curl_exec($curl); curl_close($curl);
この例では、URL $url を定義し、送信したいキーと値のペアを PHP 配列 $postData に設定します。 http_build_query() を使用して、配列を HTTP 形式のクエリ文字列に変換し、$postFields に割り当てます。
curl ハンドルを初期化し、その CURLOPT_POST オプションを true に設定して、送信していることを示します。 POSTデータ。 CURLOPT_POSTFIELDS オプションは、送信するデータを指定します。また、CURLOPT_FOLLOWLOCATION (リダイレクトに従う)、CURLOPT_HEADER (応答からの HTTP ヘッダーを抑制する)、CURLOPT_RETURNTRANSFER (curl_exec() に応答を返す) など、他のさまざまなオプションも設定します。
最後に、 curl_exec() を使用してcurlリクエストを実行し、そのレスポンスを$response変数に保存します。この応答は、要件に応じて解析または処理できます。
以上がPHP コードから HTTP POST データを直接送信するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。