Probleme checksum google

Consultez la formation à Google Analytics de WebRankInfo / Ranking Metrics


Maze12
WRInaute passionné
WRInaute passionné
 
Messages: 506
Inscription: Jeu Juil 07, 2005 20:34

Probleme checksum google

Message le Sam Fév 04, 2006 6:18

Bonjour je suis a la recherche d'un script qui puisse me recuperer le checksum d'une url pour me faire un outil personel.
J'ai bien trouvé des script sur internet mais il ne me retourne pas le bon checksum

Le code que j'ai trouvé
Code: Tout sélectionner
define("GOOGLE_MAGIC", 0xE6359A60);      //Define the named constant "GOOGLE_MAGIC"

//unsigned shift right
function zeroFill($a, $b) {
   $z = hexdec(80000000);
   if ($z & $a) {
      $a = ($a>>1);
      $a &= (~$z);
      $a |= 0x40000000;
      $a = ($a>>($b-1));
   }
   else {
      $a = ($a>>$b);
   }
   return $a;
}

function mix($a, $b, $c) {      //This function is used in the Google Checksum calculation
   $a -= $b;
   $a -= $c;
   $a ^= (zeroFill($c,13));
   $b -= $c;
   $b -= $a;
   $b ^= ($a<<8);
   $c -= $a;
   $c -= $b;
   $c ^= (zeroFill($b,13));
   $a -= $b;
   $a -= $c;
   $a ^= (zeroFill($c,12));
   $b -= $c;
   $b -= $a;
   $b ^= ($a<<16);
   $c -= $a;
   $c -= $b;
   $c ^= (zeroFill($b,5));
   $a -= $b;
   $a -= $c;
   $a ^= (zeroFill($c,3));
   $b -= $c;
   $b -= $a;
   $b ^= ($a<<10);
   $c -= $a;
   $c -= $b;
   $c ^= (zeroFill($b,15));
   return array($a,$b,$c);
}

function GoogleCH($url, $length=null, $init=GOOGLE_MAGIC) {      //Calculate the Google Checksum for a given URL
   if(is_null($length)) {
      $length = sizeof($url);
    }
   $a = $b = 0x9E3779B9;
   $c = $init;
   $k = 0;
   $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 = mix($a,$b,$c);
      $a = $mix[0];
      $b = $mix[1];
      $c = $mix[2];
      $k += 12;
      $len -= 12;
   }
   $c += $length;
   switch($len)         /* all the case statements fall through */
    {
      case 11: $c+=($url[$k+10]<<24);
      case 10: $c+=($url[$k+9]<<16);
      case 9 : $c+=($url[$k+8]<<8);
         /* the first byte of c is reserved for the length */
      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]);
         /* case 0: nothing left to add */
   }
   $mix = mix($a,$b,$c);
   return $mix[2];
}

function strord($string) {      //converts a string into an array of integers containing the numeric value of the char
   for($i=0;$i<strlen($string);$i++) {
      $result[$i] = ord($string{$i});
   }
   return $result;
}


ce code me retourne par exemple "61204118123" alors que mon checksum est "61604214215".

pour afficher le Pr

Code: Tout sélectionner

function getrank($url, $prefix="info:", $datacenter="www.google.com") {

   $url = $prefix.$url;
   
   $ch = GoogleCH(strord($url));//Get the Google checksum for $url using the GoogleCH function.

   
   //mon checksum reel -> $ch = '1604214215';
   $file = "http://$datacenter/search?client=navclient-auto&ch=6$ch&features=Rank&q=$url";

   $oldlevel = error_reporting(0);      //Suppress error reporting temporarily.
   $data = file($file);
   error_reporting($oldlevel);         //Restart error reporting.
   if(!$data || preg_match("/(.*)\.(.*)/i", $url)==0) return "N/A";
   
   $rankarray = explode (":", $data[2]);
   $rank = trim($rankarray[2]);
   if($rank=="") return "N/A";
   return $rank;
}

$url = "www.url.com";
echo "PageRank of ".$url." is:<br />".getrank($url);


ce code marche si je met mon cheksum en manuel.. :?


Est ce moi qui me sert pas correctement du code ou y a t'il un truc a faire? je vous remercie par avance :)

Formation recommandée sur ce thème :

Formation Google Analytics : en 2 jours, apprenez comment exploiter l'essentiel des possibilités de l'outil de mesure d'audience de Google. Formation animée par Julien Coquet, expert certifié officiellement par Google Analytics.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: florentM et 0 invités