Un tutoriel pour utiliser la librairie Curl de PHP qui permet de se connecter et communiquer avec un serveur distant depuis votre application
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, ...
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
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
?>
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", "[email protected]", "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, 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