La librairie Curl de PHP

Mis à jour il y a 4 mois

Wilo Ahadi

Auteur

Wilo Ahadi

Technologies

PHP
Apprenez à utiliser la librairie Curl de PHP qui permet de se connecter et communiquer avec un serveur distant depuis votre application

La librairie cURL, qu'est-ce ?

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, ...

Annonce :

Comment utiliser cUrl ?

Pour utiliser cUrl depuis un script PHP, Il faut commencer par initialiser une nouvelle session cURL par la fonction curl_init(), renseigner ensuite les différentes options à envoyer avec la requête par la fonction curl_setopt(), exécuter la session par curl_exec() puis fermer la session une fois l’exécution terminée par curl_close(). Vous allez bien le voir aux exemples ci-dessous.

Vous pouvez retrouver la liste de toutes les fonctions cURL au lien suivant : https://www.php.net/manual/fr/ref.curl.php

Exemples

Exemple 1

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

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

<?php

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

	$ch = curl_open();

	curl_setopt($ch, CURLOPT_URL, $adresse);

	$user  = array('email' => $email,  'password' => $password);

	curl_setopt($ch, CURLOPT_URL, $adresse);

	curl_setopt($ch, CURLOPT_POST, true);

	curl_setopt($ch, CURLOPT_POSTFIELDS, $user);

	$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 de votre choix. Amusez-vous bien !


Annonce :
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 Akili School

Voir mon profil Suivre