PHP fournit des bibliothèques client HTTP (cURL, GuzzleHttp) pour l'envoi de requêtes HTTP, et prend également en charge la création de serveurs HTTP (tels que Swoole). Des exemples pratiques incluent l'utilisation de cURL pour obtenir des données de l'API et l'utilisation de Swoole pour créer un serveur HTTP personnalisé afin de traiter les données du formulaire.
Fonctionnalités avancées PHP : Client HTTP et combat pratique du serveur
Client HTTP
PHP possède des bibliothèques intégrées telles que cURL et GuzzleHttp, qui peuvent être utilisées pour créer des requêtes HTTP. Voici comment envoyer une requête GET en utilisant GuzzleHttp :
use GuzzleHttp\Client; $client = new Client(); $response = $client->get('https://example.com'); // 检索响应状态码 $statusCode = $response->getStatusCode(); // 检索响应正文 $body = $response->getBody()->getContents();
HTTP Server
PHP vous permet également de créer des serveurs HTTP. Voici un exemple simple de serveur basé sur 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();
Cas pratique : requête API
Voici un cas pratique utilisant cURL pour récupérer des données depuis une API externe :
<?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 ?>
Cas pratique : serveur HTTP personnalisé
Ce qui suit est un cas pratique d'utilisation de Swoole pour créer un serveur HTTP personnalisé pour un traitement simple des formulaires :
<?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(); ?>
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!