Aller au contenu

Récupération d'un CheckSum


Sujets conseillés

Posté

Salut tout le monde !

J'aurais voulu s'avoir si quelqu'un sait comment récuperer le CheckSum d'une url sur un serveur Free ?

Merci par avance de vos éventuelles réponses.

Posté (modifié)

Merci beaucoup !

L'ennui c'est que j'ai besoin de récuperer le CheckSum pour plusieurs liens d'une liste afin d'y calculer le PR et de l'afficher tout en s'achant que cette liste de lien sera dynamique et sur un serveur free.fr.

J'aurais donc voulu le récuperer et calculer le PR moi même afin de ne pas dépendre d'un site qui offre ce service du style "http://www.pagerank-gratuit.com"

J'ai essayé ce script mais il ne fonctionne pas

<?php
/*
Google® PageRank® Script
Codé & remanié par: FloBaoti [ www.generatix.fr ] florent_AT_generatix.fr
Portions de codes empruntées par ci, par là ...

Ce script permet de récupérer directement sur les serveurs Google,
l'indice PageRank d'une URL ( cf [url="http://www.google.fr/intl/fr/why_use.html"]http://www.google.fr/intl/fr/why_use.html[/url] ).

Vous pouvez spécifier le serveur (datacenter) Google à interroger
dans les fonctions PageRank et BackLinks.
cf: [url="http://www.dicodunet.com/definitions/google/data-centers.htm"]http://www.dicodunet.com/definitions/google/data-centers.htm[/url]
*/

class GooglePR
{
function ZeroFill($a, $
{
$z = hexdec(80000000);
if ($z & $a)
{
$a = ($a>>1);
$a &= (~$z);
$a |= 0x40000000;
$a = ($a>>($b-1));
}
else
{
$a = ($a>>$;
}

return $a;
}

function mix($a,$b,$c)
{
$a -= $b; $a -= $c; $a ^= ($this->ZeroFill($c,13));
$b -= $c; $b -= $a; $b ^= ($a<<8);
$c -= $a; $c -= $b; $c ^= ($this->ZeroFill($b,13));
$a -= $b; $a -= $c; $a ^= ($this->ZeroFill($c,12));
$b -= $c; $b -= $a; $b ^= ($a<<16);
$c -= $a; $c -= $b; $c ^= ($this->ZeroFill($b,5));
$a -= $b; $a -= $c; $a ^= ($this->ZeroFill($c,3));
$b -= $c; $b -= $a; $b ^= ($a<<10);
$c -= $a; $c -= $b; $c ^= ($this->ZeroFill($b,15));

return array($a,$b,$c);
}

function CheckSum($url)
{
$a = $b = 0x9E3779B9;
$c = 0xE6359A60; // Init
$k = 0;
$length = sizeof($url);
$len = $length;

while($len >= 12)
{
$a += ($url[$k+0]+($url[$k+1]<<8)+($url[$k+2]<<16)+($url[$k+3]<<24));
$b += ($url[$k+4]+($url[$k+5]<<8)+($url[$k+6]<<16)+($url[$k+7]<<24));
$c += ($url[$k+8]+($url[$k+9]<<8)+($url[$k+10]<<16)+($url[$k+11]<<24));

$mix = $this->mix($a,$b,$c);

$a = $mix[0];
$b = $mix[1];
$c = $mix[2];
$k += 12;
$len -= 12;
}

$c += $length;

switch($len)
{
case 11: $c+=($url[$k+10]<<24);
case 10: $c+=($url[$k+9]<<16);
case 9 : $c+=($url[$k+8]<<8);
case 8 : $b+=($url[$k+7]<<24);
case 7 : $b+=($url[$k+6]<<16);
case 6 : $b+=($url[$k+5]<<8);
case 5 : $b+=($url[$k+4]);
case 4 : $a+=($url[$k+3]<<24);
case 3 : $a+=($url[$k+2]<<16);
case 2 : $a+=($url[$k+1]<<8);
case 1 : $a+=($url[$k+0]);
}
$mix = $this->mix($a,$b,$c);

return '6'.$mix[2];
}

function strord($string)
{
$length = strlen($string);
$i = 0;
$result = array();

while( $i < $length )
{
$result[$i] = ord($string{$i});
$i++;
}
return $result;
}

function PageRank($url, $dcgg = 'www.google.com')
{
$checksum = $this->CheckSum($this->strord('info:'.$url));
$file = file('http://'.$dcgg.'/search?client=navclient-auto&ch='.$checksum.'&ie=UTF-8&oe=UTF-8&features=Rank&q=info:'.urlencode($url));
$file = implode("", $file);
return substr($file,strrpos($file, ":")+1);
}

function BackLinks($url, $dcgg = 'www.google.com')
{
$checksum = $this->CheckSum($this->strord('link:'.$url));
$file = file('http://'.$dcgg.'/search?client=navclient-auto&ch='.$checksum.'&ie=UTF-8&oe=UTF-8&features=Matches&q=link:'.urlencode($url));
$file = implode("", $file);
return substr($file,strrpos($file, ":")+1);
}
}

// include le code
$Google = new GooglePR();
$PageRank = $Google->PageRank('tchaikowsky.free.fr');
echo $PageRank;

?>

Modifié par Chopin

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...