Extension PHP cURL : comment utiliser cet outil de transfert de données ?

L’avantage le plus considérable de l’extension PHP cURL réside dans sa capacité à gérer de multiples demandes de transfert de données tout en favorisant une intégration parfaite des API. Découvrez avec nous tout ce qu’il y a à savoir sur la syntaxe et le fonctionnement de cette extension PHP.

Extension PHP cURL : de quoi s’agit-il ?

PHP cURL fait référence à la Curl URL Request Library ; il s’agit d’une extension du langage de programmation PHP qui agit comme une interface pour l’envoi de requêtes HTTP et la communication par l’intermédiaire de divers protocoles réseau, comme HTTP, HTTPS ou FTP. L’extension cURL vous permet d’ajouter ou de modifier des en-têtes, des paramètres ou encore des données, de manière à répondre aux besoins des API.

Comment installer l’extension PHP cURL ?

Pour utiliser l’extension cURL en PHP, il n’est normalement pas nécessaire d’installer cURL, cette extension étant déjà intégrée. Il convient toutefois de vérifier que l’extension cURL est bien activée dans votre installation PHP. Vous souhaitez savoir si cURL fonctionne déjà ? Créez un fichier PHP et exécutez-y le code ci-dessous :

phpinfo();
php

Sur la page ainsi générée, cherchez la mention « cURL support » ou toute autre information similaire vous permettant de voir si l’extension PHP cURL est activée. Si cURL n’est pas activé, il est alors nécessaire de modifier le fichier « php.ini ». Vous devez y localiser l’expression ;extension=php_curl.dll pour cURL sous Windows ou ;extension=curl pour cURL sous Linux. Ensuite, supprimez le point-virgule « ; » devant la ligne, de manière à activer l’extension cURL. Enregistrez le fichier, puis redémarrez le serveur Web pour que les modifications soient appliquées.

Consultez notre tutoriel PHP pour découvrir les principales connaissances de base pour la programmation PHP, essentielles pour une bonne utilisation de l’extension cURL. Vous voulez en savoir plus sur les avantages et les inconvénients du langage de programmation PHP ? Jetez un œil à nos articles de comparaison entre PHP et Python et entre PHP et JavaScript, disponibles dans le Digital Guide de IONOS.

À quoi ressemble la syntaxe de l’extension PHP cURL ?

La syntaxe de l’extension PHP cURL est constituée de différentes fonctions et options qui permettent la configuration d’une session cURL, l’envoi de requêtes et le travail avec les résultats obtenus.

Étape 1 : initialiser une session cURL

$curl = curl_init();
php

Étape 2 : définir des options

curl_setopt($curl, CURLOPT_URL, 'https://example.com/api'); // définit l’URL
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); // définit le résultat de la requête comme valeur de retour
php

Étape 3 : exécuter la requête cURL

$response = curl_exec($curl);
php

Étape 4 : fermer la session cURL

curl_close($curl);
php
Conseil

Deploy Now est une solution IONOS qui accélère les cycles de développement et réduit autant que possible les temps d’arrêt. Grâce à Deploy Now, découvrez des stratégies de déploiement flexibles pour vos projets Web.

Quelles sont les fonctions cURL disponibles en PHP ?

Une multitude de fonctions PHP sont disponibles si vous souhaitez créer des requêtes HTTP ou télécharger des fichiers. Vous pouvez aussi par exemple utiliser PHP pour récupérer des informations dans une base de données MySQL, puis partager celles-ci au format JSON à l’aide d’une fonction cURL.

Vous trouverez ci-dessous quelques-unes des principales fonctions cURL disponibles en PHP :

  • curl_init : permet de lancer une nouvelle session cURL et de renvoyer un objet cURLHandle ;
  • curl_setopt : permet de définir des options pour la session cURL, c’est-à-dire des paramètres tels que l’URL, les en-têtes ou les méthodes d’authentification. Vous pouvez aussi utiliser la fonction PHP cURL pour indiquer les données POST qu’il convient de transmettre au serveur ;
  • curl_exec : permet d’exécuter la session cURL et de renvoyer la réponse sous la forme d’une chaîne de caractères ;
  • curl_close : permet de fermer la session cURL et de libérer les ressources correspondantes ;
  • curl_setopt_array : permet de définir une série d’options cURL avec un seul appel ;
  • curl_getinfo : permet de renvoyer des informations sur la dernière session cURL, comme l’URL ou encore le code d’état HTTP ;
  • curl_error : permet de renvoyer le message d’erreur de la dernière requête cURL ;
  • curl_errno : permet de renvoyer le code d’erreur de la dernière requête cURL ;
  • curl_multi_init : permet d’initialiser un objet cURLHandle multiple, de manière à effectuer plusieurs requêtes cURL en même temps ;
  • curl_multi_add_handle : permet d’ajouter une session cURL à un objet cURLHandle multiple ;
  • curl_multi_exec : permet d’exécuter les requêtes cURL multiples ;
  • curl_multi_getcontent : permet de renvoyer le contenu de la réponse pour une session cURL donnée avec l’objet cURLHandle multiple.
API de IONOS pour développeurs
Gérez vos produits d'hébergement grâce à notre puissante API
  • Enregistrements DNS
  • Administration SSL
  • Documentation API

Exemples d’application de l’extension PHP cURL

En créant vos propres classes PHP, vous avez la possibilité de rendre le code plus modulaire, de définir des méthodes réutilisables et de simplifier l’implémentation de la fonction PHP cURL dans vos applications.

Vous trouverez ci-dessous un exemple potentiel d’une classe PHP combinée à une fonction PHP cURL GET :

class MyCurlClient {
    private $curl;
    public function __construct() {
        $this->curl = curl_init();
        // D’autres configurations peuvent être effectuées ici
    }
    public function sendRequest($url) {
        curl_setopt($this->curl, CURLOPT_URL, $url);
        curl_setopt($this->curl, CURLOPT_RETURNTRANSFER, true);
        
        $response = curl_exec($this->curl);
        return $response;
    }
    public function close() {
        curl_close($this->curl);
    }
}
// Utilisation de sa propre classe
$myCurl = new MyCurlClient();
$response = $myCurl->sendRequest('https://example.com/api');
echo $response;
$data = json_decode($response, true);
// Sortie des données avec les opérateurs PHP
echo "Post ID: " . $data['id'] . "<br>";
echo "Title: " . $data['title'] . "<br>";
echo "Body: " . $data['body'] . "<br>";
$myCurl->close();
php

Pour cet exemple, nous avons créé la classe « MyCurlClient », qui traite une session PHP cURL directement dans son constructeur. La méthode « sendRequest() » reçoit une URL, elle configure les options cURL et exécute la requête HTTP GET. Les chaînes de caractères ainsi émises sont ensuite alignées avec les opérateurs PHP. Pour finir, nous utilisons la fonction « close() » pour mettre un terme à la session cURL en question.

IONOS Object Storage
Stockage de données sûr et économique

Augmentez votre rentabilité grâce à un stockage évolutif, qui s'intègre à vos scénarios d'application.

Cet article vous a-t-il été utile ?
Page top