PHP スクリプトから別のスクリプトへの HTTP POST リクエストの送信
Web 開発では、あるサーバー ページから別のサーバー ページにデータを転送する必要が頻繁に発生します。 。この記事では、PHP スクリプトから別の PHP ページに HTTP POST リクエストを送信するためのソリューションを紹介します。 cURL や、Zend や Guzzle などのフレームワークによって提供されるメソッドを利用することで、複数のサーバー側コンポーネント間でシームレスに通信できます。
POST リクエストでの cURL の使用
cURL は、 PHP スクリプト内で利用できる高機能 HTTP クライアント ライブラリ。 POST リクエストに cURL を使用する例を次に示します。
<code class="php">$url = 'http://foo.com/script.php'; $fields = array('field1' => $field1, 'field2' => $field2); $postvars = http_build_query($fields); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_POST, count($fields)); curl_setopt($ch, CURLOPT_POSTFIELDS, $postvars); $result = curl_exec($ch); curl_close($ch);</code>
Zend Framework の活用
Zend Framework は、堅牢な HTTP クライアント実装を提供する Zend_Http クラスを提供します。次のコードはその使用法を示しています。
<code class="php">use Zend\Http\Client; $client = new Client(); $client->setUri('http://foo.com/script.php'); $client->setMethod('POST'); $client->setParameterPost($fields); $response = $client->send();</code>
Guzzle の利用
近年リリースされた Guzzle は、PHP 用の更新された HTTP クライアント ライブラリを提供します。
<code class="php">use GuzzleHttp\Client; $client = new Client(); $response = $client->post('http://foo.com/script.php', ['form_params' => $fields]);</code>
これらの技術を採用すると、PHP スクリプト内で HTTP POST リクエストをシームレスに送信でき、Web アプリケーションのさまざまなコンポーネント間の通信が容易になります。
以上がPHP スクリプトから別の PHP スクリプトに HTTP POST リクエストを送信するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。