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();

 

Partagez cet article

Une réflexion sur “Tutoriel cURL en PHP

  • Avatar
    juillet 29, 2020 à 2:10
    Permalien

    Merci pour ce tuto très bien expliqué 🙂

    Répondre

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *