ホームページ >バックエンド開発 >PHPチュートリアル >cURL を使用せずに PHP で POST リクエストを送信し、応答を取得する方法
PHP を使用した POST リクエストの送信
POST メソッドのみを受け入れるエンドポイントに遭遇した場合、結果のコンテンツにアクセスして読み取るのは困難な場合があります。この記事では、PHP を使用して POST リクエストを送信し、サーバーの応答を取得する実用的な方法について説明します。
CURL を使用しない方法:
CURL が実行可能なオプションではないシナリオの場合、PHP のネイティブ file_get_contents() 関数を利用した次のソリューションは、代替案:
$url = 'http://server.com/path'; $data = ['key1' => 'value1', 'key2' => 'value2']; // Specify HTTP method and headers $options = [ 'http' => [ 'header' => "Content-type: application/x-www-form-urlencoded\r\n", 'method' => 'POST', 'content' => http_build_query($data), ], ]; // Create stream context with POST data $context = stream_context_create($options); // Send POST request and retrieve response $result = file_get_contents($url, false, $context); if ($result === false) { // Handle error } var_dump($result);
このアプローチでは、指定されたオプションを使用して HTTP ストリーム コンテキストを構築し、指定された URL に POST リクエストを送信します。サーバーの応答は $result 変数に保存され、DOMDocument や file_get_contents() などのメソッドを使用してさらに処理するためのコンテンツへのアクセスを提供します。
ストリーム コンテキストの作成とカスタマイズの詳細については、PHP マニュアルを参照してください。 :
以上がcURL を使用せずに PHP で POST リクエストを送信し、応答を取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。