Modifier ou simuler un referer avec CURL

Comme pour le user-agent, la personnalisation du referer d'une requête CURL peut s'avérer très utile dans certains cas. C'est via l'option CURLOPT_REFERER que l'on va pouvoir effectuer la personnalisation.

<?php

$url = 'http://www.oseox.fr';
$timeout = 10;

$ch = curl_init($url);

curl_setopt($ch, CURLOPT_FRESH_CONNECT, true);
curl_setopt($ch, CURLOPT_TIMEOUT, $timeout);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);

if (preg_match('`^https://`i', $url))
{
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
}

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

// Définition du header "Referer:"
// On simule ici le fait d'arriver d'une recherche sur le terme "oseox" via Google
curl_setopt($ch, CURLOPT_REFERER, 'http://www.google.fr/search?hl=fr&source=hp&q=oseox&aq=f&aqi=g2&aql=&oq=');

$page_content = curl_exec($ch);

curl_close($ch);

echo $page_content;

?>

Recevez par email nos prochains conseils

Une question ? Venez la poser sur notre forum développement web !

A propos de l'auteur

Antoine Beaumont

Antoine Beaumont est Consultant Web et Développeur. Fort d'une expérience construite au sein de grandes agences Web-marketing, pour tous types de comptes, il accompagne désormais les professionnels dans leurs projets Web, de façon souple et objective.

Newsletter Marketing