Bien sûr, il y a un moyen de parcourir un référent. À quel point ce sera utile pour vous de décider :)
Étant donné que le référence vient du client du navigateur Web, nous devrons créer notre propre "Client WWW PHP" ... essentiellement un proxy.
Voici un code qui contribuera à toutes les informations qui sont là:
<?php
// Setup Information
$host = "www.yoursite.com";
$page = "/index.html";
// Open the socket
$fp = fsockopen($host,80,$errno,$errstr,30) or die("Could not establish a connection. $errstr($errno)");
// Request the page
fputs($fp,"GET $page HTTP/1.0\r\n");
fputs($fp,"User-agent: PHP WWW Client\r\n");
fputs($fp,"Referer: http://www.anothersite.net\r\n");
fputs($fp,"\r\n");
// Read response
while (!feof($fp)) {
$page .= fgets ($fp,128);
}
// Close Socket
fclose($fp);
?>
$page
contiendra désormais le contenu HTML de la page que vous venez de recevoir à partir du serveur.
Quant à ce que vous en faites ensuite, cela dépend de vous :) Vous devrez probablement formater toutes les URL dans le code afin qu'ils fonctionneront à partir de votre domaine. Imprimez ensuite le code HTML.
Généralement, cela n'est pas vraiment une bonne idée, mais c'est le seul moyen que je connaisse pour «parcourir» le référent et l'agent utilisateur.