La librairie Curl de PHP

Mis à jour il y a 1 an

Un tutoriel pour utiliser la librairie Curl de PHP qui permet de se connecter et communiquer avec un serveur distant depuis votre application

Wilo Ahadi

Auteur

Wilo A.

Technologies

PHP
Voir aussi Un tutoriel pour créer une liste d'options <select> dynamique pour choisir un pays et une ville à travers un composant Livewire dans un projet Laravel. En savoir plus

Introduction à la librairie cURL

La librairie cURL (libcurl), sigle de Client Url Library, est un support pour PHP qui permet de se connecter et communiquer avec différents types de serveurs via différents types de protocoles.

Curl supporte actuellement les protocoles HTTP (GET, POST, PUT, ...), HTTPS, FTP, IDAP, FILE, DICT, TELNET, ...

Comment utiliser cUrl ?

Pour utiliser cUrl dans un script PHP, Il faut commencer par initialiser une nouvelle session cURL en utilisant la fonction curl_init(), renseigner ensuite les différentes options à envoyer avec la requête à travers la fonction curl_setopt(), exécuter la session avec curl_exec() puis fermer la session une fois l’exécution terminée avec curl_close().

Nous pouvons trouver accéder à la documentation de toutes les fonctions cURL au lien suivant : https://www.php.net/manual/fr/ref.curl.php

Exemples de requête cURL

Exemple 1 : Requête GET cURL

Créons un programme qui récupère la liste de toutes les compétitions de football depuis une API et les affiche sur la page :

<?php

$session_curl = curl_init('http://api.football-data.org/v2/competitions'); // on initialisation la session cURL 

/*
on renseignement l'option "CURLOPT_HEADER" avec "true" comme valeur
pour inclure l'en-tête dans la réponse
*/
curl_setopt($session_curl , CURLOPT_HEADER, true);

$data = curl_exec($session_curl ); // on execute la session, en récupérant la réponse dans $data

curl_close($session_curl ); // on ferme la session cURL 

echo $data; // On affiche la réponse

?>

Exemple 2 : Requête POST cURL

Créons une fonction qui permet de se connecter à un serveur en envoyant l'adresse email et le mot de passe via la méthode POST :

<?php

function connectUser($adresse, $email, $password) {

	$ch = curl_open(); // $ch pour "channel" (canal)

	curl_setopt($ch, CURLOPT_URL, $adresse); // On renseigne l'adresse du serveur

	$user  = array('email' => $email,  'password' => $password); // Le tableau de données : adresse email et mot de passe

	curl_setopt($ch, CURLOPT_POST, true);  // On renseigne la méthode "POST"

	curl_setopt($ch, CURLOPT_POSTFIELDS, $user); // On renseigne les données à envoyer

	$reponse = $curl_exec($ch);

	curl_close($ch);

	echo $reponse;
}

// On appel la fonction "connectUser"
connectUser("http://www.siteweb.com", "mon_adresse@email.com", "mon_mot_de_passe");

?>

Vous pouvez vous inspirer de ces deux exemples pour faire communiquer votre script PHP avec un serveur distant. Amusez-vous bien ! 😉

Cette publication vous a plu ?
Partagez-la avec vos ami(e)s sur les réseaux sociaux.

Wilo Ahadi

Wilo Ahadi, l'auteur

Passionné de l'informatique, je suis spécialiste en techniques des systèmes et réseaux, développeur web et mobile, infographiste et designer, ... J'aime partager mon expérience en formant sur la plateforme Akili School

Voir profil

Commentaires