Exemple de Curl
Curl est fonction php permettant d'aller récupérer le contenu d'une page web distante. Curl s'avère puissant, dans le sens où il permet de simuler certaines activités d'un navigateur ( un vrai de vrai ) très facilement.
Naturellement il existe d'autres moyens pour aller consulter une page web. L'exemple de file_get_contents($url) , ou un simple fopen($url) , voir une plus complexe utilisation de "socket php". Cependant, curl se distingue une nouvelle fois par sa rapidité : Il est 2 à 3 fois plus rapide que file_get_contents et fopen, et légèrement plus rapide ( mais beaucoup plus simple ) que les fonctions de socket php.
Voici un exemple de curl, pour le comprendre simplement. Veuillez noter qu'il n'est pas nécessaire d'intégrer toute le code source pour que celui-ci fonctionne convenablement ;)
[code=php]
$url = 'https://www.tayo.fr';
$user_agent = 'Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)'; # <--- On dit être Firefox.
$header[0] = "Accept: text/xml,application/xml,application/xhtml+xml,";
$header[0] .= "text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5";
$header[] = "Cache-Control: max-age=0";
$header[] = "Connection: keep-alive";
$header[] = "Keep-Alive: 300";
$header[] = "Accept-Charset: utf-8";
$header[] = "Accept-Language: fr"; # Certains sites changent de contenu en fonction de cette ligne, ici le contenu sera français.
$header[] = "Pragma: "; // Simule un navigateur
$ch = curl_init(); // initialize curl handle
curl_setopt($ch, CURLOPT_URL, $url); // l'url à visiter
curl_setopt($ch, CURLOPT_FAILONERROR, 1); // Fail on errors
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); // allow redirects
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); // return into a variable
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
curl_setopt($ch, CURLOPT_PORT, 80); // Pas indispensable, la pluspart des sites ont le port 80 par défaut
curl_setopt($ch, CURLOPT_TIMEOUT, 15); // Si la page n'est pas finie d'ici 15 secondes, tant pis, curl ferme tout. Mais le script peut continuer
curl_setopt($ch, CURLOPT_USERAGENT, $user_agent);
$document = curl_exec($ch); # Toute les données seront dans la variable $document
$statut = @curl_getinfo($ch); # il suffira d'un print_r($statut) pour lire les header d'une page.
curl_close($ch); // On ferme curl , SCHLIIING
?>
[/code]
Les lecteurs ont donné une note moyenne de :
Note: 1 sur 10
Donnez votre note à ce tuto sur 10 :