Pb Script Afficher PageRank

Consultez la formation sur les stratégies de liens de WebRankInfo / Ranking Metrics

Temperature
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 4
Inscription: 23 Avr 2008

Pb Script Afficher PageRank

Message le Mer Avr 23, 2008 13:22

Code: Tout sélectionner
define('GOOGLE_MAGIC', 0xE6359A60);   
class pageRank { 
  var $pr;   
  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) {   
    $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 GoogleCH($url, $length = null, $init = GOOGLE_MAGIC) {   
   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 = $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); 
    // 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]);   
   }   
   $mix = $this->mix($a, $b, $c);   
  // report the result //   
  return $mix[2];   
  }   
   
  // converts a string into an array of integers containing the numeric value of the char   
   
  function strord($string) {   
   for ($i = 0; $i < strlen($string); $i++) {   
    $result[$i] = ord($string{$i});   
   }   
  return $result;   
  }   
   
  function printrank($url) { 
   $ch = '6' .$this->GoogleCH($this->strord('info: ' .$url));   
     
   $fp = fsockopen('www.google.com', 80, $errno, $errstr, 30); 
   if (! $fp) { 
      echo "$errstr ($errno)<br />\n"; 
   } else { 
      $out = "GET /search?client=navclient-auto&ch=" . $ch .  "&features=Rank&q=info:" . $url . " HTTP/1.1\r\n" ; 
      $out .= "Host: www.google.com\r\n" ; 
      $out .= "Connection: Close\r\n\r\n" ;   
      fwrite($fp, $out); 
      while (! feof($fp)) { 
        $data = fgets($fp, 128); 
        $pos = strpos($data, 'Rank_'); 
          if ($pos === false) { 
          } else { 
            $pagerank = substr($data, $pos + 9); 
            $this->pr_image($pagerank); 
          } 
      } 
      fclose($fp);   
   } 
  } 
// display pagerank image. Create your own or download images I made for this script. If you make your own make sure to call them pr0.gif, pr1.gif, pr2.gif etc. 
  function pr_image($pagerank) { 
   if ($pagerank == 0) { 
    $this->pr = "<img src='img/pr5.gif' alt=\"PageRank " .$pagerank. " out of 10\">" ; 
    } elseif ($pagerank == 1) { 
    $this->pr = "<img src='img/pr5.gif' alt=\"PageRank " .$pagerank. " out of 10\">" ; 
    } elseif ($pagerank == 2) { 
    $this->pr = "<img src='img/pr5.gif' alt=\"PageRank " .$pagerank. " out of 10\">" ; 
    } elseif ($pagerank == 3) { 
    $this->pr = "<img src='img/pr5.gif' alt=\"PageRank " .$pagerank. " out of 10\">" ; 
    } elseif ($pagerank == 4) { 
    $this->pr = "<img src='img/pr5.gif' alt=\"PageRank " .$pagerank. " out of 10\">" ; 
    } elseif ($pagerank == 5) { 
    $this->pr = "<img src='img/pr5.gif' alt=\"PageRank " .$pagerank. " out of 10\">" ; 
    } elseif ($pagerank == 6) { 
    $this->pr = "<img src='img/pr5.gif' alt=\"PageRank " .$pagerank. " out of 10\">" ; 
    } elseif ($pagerank == 7) { 
    $this->pr = "<img src='img/pr5.gif' alt=\"PageRank " .$pagerank. " out of 10\">" ; 
    } elseif ($pagerank == 8) { 
    $this->pr = "<img src='img/pr5.gif' alt=\"PageRank " .$pagerank. " out of 10\">" ; 
    }elseif($pagerank == 9) { 
    $this->pr = "<img src='img/pr5.gif' alt=\"PageRank " .$pagerank. " out of 10\">" ; 
    } else { 
    $this->pr = "<img src='img/pr5.gif' alt=\"PageRank " .$pagerank. " out of 10\">" ; 
   } 
  } 
  function get_pr() { 
   return $this->pr; 
  } 
}

Code: Tout sélectionner
function mix( $a, $b, $c )

{

  $a = ( $a - $b - $c ) ^ ( $c & 0x80000000 ? ( $c >> 1 & 0x7FFFFFFF | 0x40000000 ) >> 12 : $c >> 13 );

  $b = ( $b - $c - $a ) ^ ( $a <<  8 );

  $c = ( $c - $a - $b ) ^ ( $b & 0x80000000 ? ( $b >> 1 & 0x7FFFFFFF | 0x40000000 ) >> 12 : $b >> 13 );

  $a = ( $a - $b - $c ) ^ ( $c & 0x80000000 ? ( $c >> 1 & 0x7FFFFFFF | 0x40000000 ) >> 11 : $c >> 12 );

  $b = ( $b - $c - $a ) ^ ( $a << 16 );

  $c = ( $c - $a - $b ) ^ ( $b & 0x80000000 ? ( $b >> 1 & 0x7FFFFFFF | 0x40000000 ) >>  4 : $b >>  5 );

  $a = ( $a - $b - $c ) ^ ( $c & 0x80000000 ? ( $c >> 1 & 0x7FFFFFFF | 0x40000000 ) >>  2 : $c >>  3 );

  $b = ( $b - $c - $a ) ^ ( $a << 10 );

  $c = ( $c - $a - $b ) ^ ( $b & 0x80000000 ? ( $b >> 1 & 0x7FFFFFFF | 0x40000000 ) >> 14 : $b >> 15 );  return array( $a, $b, $c );

}

function GoogleCH( $url_ch )

{

  $info_url = "info:" . $url_ch;

for ( $length = 0, $l = strlen( $info_url ); $length < $l; $length++ )

  {

    $url[$length] = ord( $info_url{$length});

  }

$a = $b = 0x9E3779B9;

  $c = 0xE6359A60;

for ( $l = $length, $k = 0; $l >= 12; $l -= 12, $k += 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];

  }

$c += $length;

switch ( $l )

  {

    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 = mix( $a, $b, $c );

return "6" . $mix[2];

}

if ( $fp = fsockopen( "www.google.com", 80, $errno, $errstr, 30 ))

{

  $url = $_GET['url'];

fwrite( $fp, "GET /search?client=navclient-auto&ch=" . GoogleCH( $url ) .  "&features=Rank&q=info:" . $url . " HTTP/1.1\r\n"

             . "Host: www.google.com\r\n"

             . "Connection: Close\r\n"

             . "\r\n" );

$pagerank = "";

while ( ! feof( $fp ))

  {

    $data = fgets( $fp, 128 );

    $pos = strpos( $data, "Rank_" );

if ( $pos !== false )

    {

      $pagerank = intval( substr( $data, $pos + 9 ));

break;

    }

  }

//header( "Content-type: img" );

  readfile( "img/pr" . $pagerank . ".gif" );

fclose( $fp );

}


J'appelle bien le script et je fais afficher le résultat mais rien pour le moment :(
Quelqu'un a-t-il déjà fais fonctionner un de ces script.?[/quote][/url]

L.Jee
WRInaute accro
WRInaute accro
 
Messages: 7192
Inscription: 11 Déc 2007

Message le Mer Avr 23, 2008 15:37

Si je ne dis pas de conneries, google n'accepte plus ce genre de script.

Quelqu'un qui confirmerait ?


webmasterlamogere
WRInaute passionné
WRInaute passionné
 
Messages: 1874
Inscription: 17 Déc 2006

Message le Mer Avr 23, 2008 19:51

J'en ai un qui marche chez 1and1 mais il ne marche pas chez OVH. Google doit bloquer certaines IP.

Temperature
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 4
Inscription: 23 Avr 2008

Message le Mer Avr 30, 2008 16:28

Salut,
sais-tu pourquoi le script ne fonctionne pas chez ovh ?
Il n'est pas possible d'arranger le code pour qu'il fonctionne ?
Quelqu'un connait-il un autre code pour récupérer la valeur du PageRank ?


webmasterlamogere
WRInaute passionné
WRInaute passionné
 
Messages: 1874
Inscription: 17 Déc 2006

Message le Mer Avr 30, 2008 16:36

je crois que google bloque l'ip d'OVH. Si c'est bien ca, je ne vois pas de solution a part passer par une autre IP (peut-être avec free)

L.Jee
WRInaute accro
WRInaute accro
 
Messages: 7192
Inscription: 11 Déc 2007

Message le Mer Avr 30, 2008 18:02

Voila pourquoi nous n'avons plus la possibilité de le récupérer, merci webmasterlamogere.

ad2m_sarl
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 1
Inscription: 19 Oct 2007

Message le Mer Avr 30, 2008 18:25

google bloque les IP de server qui font trop de requetes il me semble..

Seul moyen, placer un cache sur les résultats. Pour ma part sur un de mes sites j'ai placé un cache de 1 mois sur les résultats.


El-Cherubin
WRInaute discret
WRInaute discret
 
Messages: 216
Inscription: 9 Déc 2007

Message le Mer Avr 30, 2008 20:00

Il existe ce script qui fonctionne presque aprtout, meme chez ovh.

http://www.hm2k.com/projects/pagerank

Temperature
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 4
Inscription: 23 Avr 2008

toujours un probleme

Message le Lun Mai 05, 2008 10:30

Bonjour, je suis entrain d'essayer de faire fonctionner le script !
Pour le moment je n'y arrive pas, l'erreur arrive à ce moment la :
Code: Tout sélectionner
while (!feof($fp)) {
         $data = fgets($fp, 128);
         echo $data;
         $pos = strpos($data, "Rank_");
         if($pos === false){echo "erreur!";} else{
            $pr=substr($data, $pos + 9);
            $pr=trim($pr);
            $pr=str_replace("\n",'',$pr);
            return $pr;
         }
      }

j'affiche le $data, voici :
Code: Tout sélectionner
HTTP/1.1 403 Forbidden
erreur!Date: Mon, 05 May 2008 09:29:01 GMT
erreur!Content-Type: text/html
erreur!Server: GFE/1.3
erreur!Connection: Close
erreur!Content-Length: 1721
erreur!
erreur!<html> <head> <title>403 Forbidden</title> <style> body {font-family: Arial, sans-serif;}</style></head><body bgcolor="#ffffff"erreur! text="#000000" link="#0000cc" vlink="#551a8b" alink="#ff0000"> <table cellpadding="0" cellspacing="0" border="0"><tr><td><b><ferreur!ont face=times color=#0039b6 size=10>G</font><font face=times color=#c41200 size=10>o</font><font face=times color=#f3c518 sizeerreur!=10>o</font><font face=times color=#0039b6 size=10>g</font><font face=times color=#30a72f size=10>l</font><font face=times coloerreur!r=#c41200 size=10>e</font></b></td><td valign=middle width="100%" style="padding-left: 10px"><table bgcolor="#e5ecf9" width="10erreur!0%" cellpadding="0" cellspacing="0" border="0" style="border-top: 1px solid #3366cc"><tr><td><font size="+1">&nbsp;<b>Error</b>erreur!</font></td><td align="right" nowrap><font size="-1">&nbsp;</font></td></tr></table></td></tr></table><blockquote><h1>We're sorerreur!ry...</h1><p>... but your query looks similar to automated requests from a computer virus or spyware application.  To protect oerreur!ur users, we can't process your request right now.</p> <p>We'll restore your access as quickly as possible, so try again soon. erreur!In the meantime, if you suspect that your computer or network has been infected, you might want to run a <a href="http://www.doerreur!wnload.com/Antivirus/3150-2239-0.html"> virus checker</a> or <a href="http://www.download.com/sort/3150-8022-0-1-4.html">spywarerreur!e remover</a> to make sure that your systems are free of viruses and other spurious software.</p><p>We apologize for the inconverreur!enience, and hope we'll see you again on Google. </blockquote><br><table width=100% cellpadding=0 cellspacing=0><tr><td bgcolorerreur!=#3366cc><img alt="" width=1 height=3></td></tr></table></body></html>erreur!<a href="www.free.fr" title="PageRank: /10"><div style="position: relative; width: 40px; padding: 0; background: #D9D9D9;"><strong style="width: 0%; display: block; position: relative; background: #5EAA5E; text-align: center; color: #333; height: 4px; line-height: 4px;"><span></span></strong></div></a>

Est-ce encore google qui me bloque ?
Voila si quelqu'un a une idée ?
merci d'avance.


El-Cherubin
WRInaute discret
WRInaute discret
 
Messages: 216
Inscription: 9 Déc 2007

Message le Lun Mai 05, 2008 13:32

Je suis pas expert du script , donc je t'invite à demander de l'aide ici http://www.seosphere.com/forum/index.php?showtopic=4760

Le mec qui l'a développé est membre il me semble.


UsagiYojimbo
WRInaute accro
WRInaute accro
 
Messages: 8579
Inscription: 23 Nov 2005

Message le Lun Mai 05, 2008 14:07

your query looks similar to automated requests from a computer virus or spyware application


ca ca veut dire que Google aime pas.

Temperature
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 4
Inscription: 23 Avr 2008

Message le Lun Mai 05, 2008 14:12

Errrrf pourtant sur le site ou j'ai trouver la source il disait que c'était un code qui faisait en sorte que google ne bloquait pas les actions issues d'un serveur ovh


UsagiYojimbo
WRInaute accro
WRInaute accro
 
Messages: 8579
Inscription: 23 Nov 2005

Message le Lun Mai 05, 2008 14:15

Les choses changent. Google évolue.


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Formation recommandée sur ce thème :

Formation Netlinking (liens et référencement) : apprenez ce qu'est réellement un bon lien pour le référencement et surtout comment en obtenir. Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

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: Aucun utilisateur enregistré et 0 invités