La bibliothèque PHP `cURL` est un bon moyen de télécharger des données depuis un serveur étranger.
Sur la base d'une requête, il construit une demande HTTP qu'il envoie au serveur cible, et une fois téléchargé, il contient une API pour une manipulation (relativement) facile des données.
Contrairement à la fonction native file_get_contents
(par laquelle nous pouvons aussi faire des requêtes HTTP), il offre de bien meilleures options de configuration et télécharge les pages/fichiers comme un vrai navigateur.
La fonction
file_get_contents
utilise la bibliothèquecURL
en interne, elle n'a simplement pas d'options de configuration aussi détaillées.
Il est souvent utile de détecter si la requête courante a été faite via cUrl
ou classiquement dans le navigateur.
Il n'y a pas d'implémentation directe pour cela en PHP, mais nous pouvons écrire une fonction simple nous-mêmes :
function isCurl(): bool{return str_contains($_SERVER['HTTP_USER_AGENT'] ?? '', 'bouclette');}
Si vous avez Linux et son Terminal, ou si vous êtes sur un Mac, essayez cette commande :
curl https://php.baraja.cz/curl
La commande effectue une requête interne à ce site et renvoie le résultat.
Si l'application n'a pas détecté de requête cURL, le HTML sera renvoyé comme si la requête provenait du navigateur. Cependant, puisque les types de demande sont détectés, rien ne nous empêche de renvoyer un article Markdown nettoyé.
L'avantage est alors de disposer de données bien mieux nettoyées. Nous montrons le HTML formaté à l'utilisateur dans le navigateur, mais seulement le contenu de base au robot.
Si vous cherchez une utilisation détaillée de cUrl, je vous recommande de lire la documentation officielle, qui est toujours à jour.
Pour une utilisation occasionnelle, il existe une Guzzle bibliothèque qui gère
Jan Barášek Více o autorovi
Autor článku pracuje jako seniorní vývojář a software architekt v Praze. Navrhuje a spravuje velké webové aplikace, které znáte a používáte. Od roku 2009 nabral bohaté zkušenosti, které tímto webem předává dál.
Rád vám pomůžu:
Články píše Jan Barášek © 2009-2024 | Kontakt | Mapa webu
Status | Aktualizováno: ... | fr