PHP は、HTTP リクエストを送信するための HTTP クライアント ライブラリ (cURL、GuzzleHttp) を提供し、HTTP サーバー (Swoole など) の作成もサポートします。実際の例には、cURL を使用して API からデータを取得することや、Swoole を使用してフォーム データを処理するカスタム HTTP サーバーを作成することが含まれます。
PHP の高度な機能: HTTP クライアントとサーバーの実践的な戦闘
HTTP クライアント
PHP には、HTTP リクエストの作成に使用できる cURL や GuzzleHttp などの組み込みライブラリがあります。 GuzzleHttp を使用して GET リクエストを送信する方法は次のとおりです:
use GuzzleHttp\Client; $client = new Client(); $response = $client->get('https://example.com'); // 检索响应状态码 $statusCode = $response->getStatusCode(); // 检索响应正文 $body = $response->getBody()->getContents();
HTTP サーバー
PHP では HTTP サーバーを作成することもできます。これは、単純な Swoole ベースのサーバーの例です:
use Swoole\Http\Server; $server = new Server('0.0.0.0', 8811); $server->on('request', function (Swoole\Http\Request $request, Swoole\Http\Response $response) { $response->header('Content-Type', 'text/plain'); $response->end('Hello World!'); }); $server->start();
実際のケース: API リクエスト
cURL を使用して外部 API からデータを取得する実際のケース:
<?php $curl = curl_init(); curl_setopt_array($curl, [ CURLOPT_URL => 'https://api.example.com/v1/users', CURLOPT_RETURNTRANSFER => true, ]); $response = curl_exec($curl); curl_close($curl); $data = json_decode($response); // 处理$data ?>
実践的なケース: カスタム HTTP サーバー
以下は、Swoole を使用して単純なフォーム処理用のカスタム HTTP サーバーを作成する実際のケースです:
<?php use Swoole\Http\Server; use Swoole\Http\Request; $server = new Server('0.0.0.0', 8812); $server->on('request', function (Request $request, Swoole\Http\Response $response) { // 处理POST数据 $post = $request->post; // 根据要执行的操作创建响应 if ($post['action'] === 'create') { // 处理创建操作 } elseif ($post['action'] === 'update') { // 处理更新操作 } // 发送响应 $response->end('操作完成'); }); $server->start(); ?>
以上がPHP の高度な機能: HTTP クライアントとサーバーの戦闘の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。