CURL
Introduction
PHP supporte libcurl, une bibliothèque créée par Daniel Stenberg, qui vous permet de vous connecter, de communiquer avec de nombreux serveurs, grâce à de nombreux protocoles. libcurl supporte actuellement les protocoles suivants : HTTP, HTTPS, FTP, gopher, telnet, dict, file, et LDAP. libcurl supporte aussi les certificats HTTPS, les POST HTTP, PUT HTTP, le chargement par FTP (ce qui peut être fait par l'extension FTP), les chargements par formulaire HTTP, les proxies, les cookies et l'identification par mot de passe et nom d'utilisateur.
Ces fonctions ont été ajoutées en PHP 4.0.2.
Pré-requis
Pour pouvoir utiliser les fonctions de PHP cURL, vous devez installer le paquetage » libcurl. PHP requiert la version libcurl 7.0.2-beta ou plus récente. En PHP 4.2.3, vous aurez besoin de libcurl version 7.9.0 ou plus. À partir de PHP 4.3.0, vous aurez besoin de libcurl version 7.9.8 ou plus. PHP 5.0.0 requiert une version de libcurl supérieure ou égale à 7.10.5.
Installation
Pour utiliser cURL depuis les scripts PHP, vous devez compiler celui-ci avec l'option --with-curl[=DIR] où DIR est le chemin jusqu'au dossier contenant les dossiers lib et include. Dans le dossier include il doit se trouver un dossier appelé curl, qui contient notamment les fichiers easy.h et curl.h. Il doit aussi se trouver un fichier nommé libcurl.a dans le dossier lib. À partir de PHP 4.3.0, vous pouvez aussi configurer PHP pour qu'il utilise cURL comme gestionnaire d'URL avec l'option --with-curlwrappers.
Note: Note aux utilisateurs Win32 Afin d'activer ce module dans l'environnement Windows, libeay32.dll et ssleay32.dll doivent être présents dans votre PATH. Vous n'avez pas besoin de libcurl.dll du site cURL.
Types de ressources
Cette extension définit deux types de ressources : un gestionnaire cURL et un gestionnaire cURL multi.
Constantes pré-définies
Voir aussi les constantes prédéfinies cURL.
Exemples
Une fois que vous avez compilé PHP avec le support cURL, vous pouvez commencer à l'exploiter avec vos scripts PHP. Le principe de fonctionnement est d'initialiser une session cURL avec curl_init(), puis de choisir toutes vos options de transfert avec curl_setopt(), puis d'exécuter la session avec curl_exec() et de finir votre session avec curl_close(). Voici un exemple d'utilisation des fonctions cURL, qui récupère la page principale de example.com dans un fichier :
Example#1 Utilisation de cURL pour récupérer une page
<?php
$ch = curl_init("https://www.example.com/");
$fp = fopen("example_homepage.txt", "w");
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_exec($ch);
curl_close($ch);
fclose($fp);
?>
Table of Contents
- Constantes — Constantes prédéfinies Curl
- curl_close — Ferme une session CURL
- curl_copy_handle — Copie une ressource cURL avec toutes ses préférences
- curl_errno — Retourne le dernier message d'erreur cURL
- curl_error — Retourne une chaîne contenant le dernier message d'erreur cURL
- curl_exec — Exécute une session cURL
- curl_getinfo — Lit les informations détaillant un transfert cURL
- curl_init — Initialise une session cURL
- curl_multi_add_handle — Ajoute une ressource cURL à un cURL multiple
- curl_multi_close — Termine un jeu de sessions cURL
- curl_multi_exec — Exécute les sous-requêtes de la session cURL
- curl_multi_getcontent — Retourne le contenu obtenu avec l'option CURLOPT_RETURNTRANSFER
- curl_multi_info_read — Lit les informations sur les transferts actuels
- curl_multi_init — Retourne un nouveau cURL multiple
- curl_multi_remove_handle — Retire un cURL multiple d'un jeu de cURL
- curl_multi_select — Retourne les sockets associées à cURL, pour utilisation
- curl_setopt_array — Fixe plusieurs options pour un transfert cURL
- curl_setopt — Définit une option de transmission cURL
- curl_version — Retourne la version courante de cURL