Tutoriel cURL en PHP

CURL est un moyen d’accéder à une URL à partir de notre code pour en obtenir une réponse HTML. Il vous permet de vous connecter à d’autres URL et d’utiliser leurs réponses dans notre code. Dans ce tutoriel PHP | CURL, nous allons découvrir ce concept en détail.
 

Qu’est-ce que CURL ?

CURL signifie Client URL et c’est une bibliothèque qui vous permet d’effectuer des requêtes HTTP en PHP.

cURL est activée par défaut en PHP, vous pouvez vérifier si elle est activée en appelant la fonction phpinfo(). Il vous est demandé de la vérifier avant d’écrire votre premier programme simple en PHP.

<?php  
	phpinfo(); 
?>

 
 

 

Les bases de cURL en PHP:
curl_init();   //initialise une session cURL
curl_setopt(); //modifie le comportement de la session cURL avec des options
curl_exec();   //exécute la session cURL 
curl_close();  //ferme la session cURL et supprime la variable faite par curl_init();

Tout d’abord, nous créons une ressource curl avec la fonction curl_init()

$curl = curl_init();

La deuxième étape consiste à définir les options de curl à l’aide de la fonction curl_setopt()

curl_setopt($curl, CURLOPT_URL, '<a href="https://waytolearnx.com">WayToLearnX</a>');

La troisième étape consiste à exécuter curl ou à exécuter des requêtes HTTP avec curl_exec()

curl_exec($curl);

La quatrième étape consiste à fermer la ressource curl avec curl_close() pour libérer les ressources

curl_close($curl);

Voici le code complet:

<?php 
  
// Récupérer le contenu de la page Web à partir de l'url.
$url = "https://waytolearnx.com/"; 
  
// Initialisez une session CURL.
$ch = curl_init();  
  
// Récupérer le contenu de la page
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
  
//Saisir l'URL et la transmettre à la variable.
curl_setopt($ch, CURLOPT_URL, $url); 

//Désactiver la vérification du certificat puisque waytolearnx utilise HTTPS
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

//Exécutez la requête 
$result = curl_exec($ch); 

//Afficher le résultat
echo $result;  

?>

Sortie:
Après avoir chargé ce fichier dans le navigateur, WayToLearnX est chargé à l’aide de la requête curl:
 

 
 

Requête POST avec cURL en PHP

Une requête POST est généralement effectuée pour envoyer les données collectées par l’utilisateur à un serveur.

<?php 
$url = "http://127.0.0.1/api/"
$data = array(
    'name' => 'Alex',
    'age' => 30
);
$data_json = json_encode($data);

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS,$data_json);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response  = curl_exec($ch);
curl_close($ch); 
?>

 

Requête GET avec cURL en PHP

Une requête GET récupère les données d’un serveur. Il peut s’agir du code HTML d’un site Web, d’une réponse API ou d’autres ressources.

<?php 
$url = "http://127.0.0.1/api/products"

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$productList = curl_exec($ch);
curl_close($ch);

$response = json_decode($productList);
var_dump($response);
?>

 
 

Requête PUT avec cURL en PHP

La méthode HTTP PUT est utilisée pour mettre à jour une ressource existante sur le serveur.

<?php 
$url = "http://127.0.0.1/api/1"
$data = array(
    'name' => 'Bob',
    'age' => 25
);
$data_json = json_encode($data);

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json','Content-Length: ' . strlen($data_json)));
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'PUT');
curl_setopt($ch, CURLOPT_POSTFIELDS,$data_json);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
?>

 

Requête DELETE avec cURL en PHP

La méthode HTTP DELETE supprime la ressource spécifiée.

<?php 
$url = "http://127.0.0.1/api/1"

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "DELETE");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response  = curl_exec($ch);
curl_close($ch);
?>

 

Conclusion
curl_init();   //initialise une session cURL
curl_setopt(); //modifie le comportement de la session cURL avec des options
curl_exec();   //exécute la session cURL 
curl_close();  //ferme la session cURL et supprime la variable faite par curl_init();

 

2 réflexions sur “Tutoriel cURL en PHP

  • juillet 29, 2020 à 2:10
    Permalien

    Merci pour ce tuto très bien expliqué 🙂

    Répondre
  • mai 25, 2021 à 11:29
    Permalien

    What’s upp colleagues, its impressive piece of writing about
    cultureand fully defined, keep it up all the time.

    Répondre

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.