CURL est une extension PHP qui permet d'appeler une page distante ou non, en lui postant des variables (ou pas) et de récupérer le résultat dans une variable.
L'intérêt majeur est de pouvoir effectuer une opération directement sur le serveur sans aller/retour.
Par exemple, avec curl pourriez faire une requête sur google, récupéré les réponse dans une variable, changer la mise en page et afficher cette variable (notez que ce serais une violation de droit)
On pourrais aussi se loguer a un webmail et récupérer les nouveaux mails pour les afficher sur son site…
Comme je l'ai dit plus haut CURL est une extension PHP, pour l'utiliser il fait donc que votre hébergeur l'ai activé.
Pour le vérifier, utilisez phpinfo. Vous devez voir la ligne :
| CURL support | enabled |
Afin de faciliter l'utilisation de CURL, j'ai mis au point cette petite fonction.
Son utilisation est simple, on lui passe en paramètre l'url a appeler, les champs a poster (sous la forme “var1=contenu1&var2=contenu2….”) et la méthode (get ou post).
function Curlit($url,$params='',$method='post') { $method=strtolower($method); $user_agent = "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)"; $ch = curl_init(); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_FOLLOWLOCATION,true); curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); curl_setopt($ch, CURLOPT_USERAGENT, $user_agent); curl_setopt($ch, CURLOPT_COOKIEJAR, "cookie_curl"); curl_setopt($ch, CURLOPT_COOKIEFILE, "cookie_curl"); curl_setopt($ch, CURLOPT_TIMEOUT, 5); //en seconde if ($method=='post') { if ($params!='') curl_setopt($ch, CURLOPT_POSTFIELDS,$params); curl_setopt($ch, CURLOPT_POST,1); curl_setopt($ch, CURLOPT_URL,$url); } else { curl_setopt($ch, CURLOPT_URL,$url.(($params!='')?'?'.$params:'')); } $v=curl_exec($ch); if (curl_errno($ch)) { return curl_error($ch); } else { curl_close($ch); } return $v; } //exemple de requête sur google : echo Curlit('http://www.google.com/search','q=wikistuce','get');
La documentation complète de CURL se trouve ici : http://fr.php.net/manual/fr/ref.curl.php
— iDo 01/02/2006 10:23
Discussion