WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   Visa Google PageRank (https://www.wn.se/forum/showthread.php?t=12709)

Nicke85 2006-03-01 13:54

Hittade förut en sida där det stod hur man kunde fixa en egen PageRank visare.
Men jag kommer inte ihåg adressen. Har sökt på internet men inte hittat något sådant script som man själv hostar.

Vet ni var jag kan hitta ett sånt script?
(Så att jag kan visa vad en länk har för pagerank)

Davve 2006-03-01 14:05

Jag vet inte om det är va du tänker på men så kan du göra:

http://www.mygooglepagerank.com

Nicke85 2006-03-01 14:38

Citat:

Originally posted by Davve@Mar 1 2006, 15:05
Jag vet inte om det är va du tänker på men så kan du göra:

http://www.mygooglepagerank.com

Den hittade jag förut.
Men jag fick det inte att fungera... Den visar bara en tom bild...

zpD 2006-03-01 16:43

Visa PR

Gustaf 2006-03-01 19:03

Jag tror att du letar efter detta:

Kod:

<?php

define('GOOGLE_MAGIC', 0xE6359A60);


//unsigned shift right

function zeroFill($a, $b)

{
  $z = hexdec(80000000);
  //echo $z;

    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 ^= (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) {
  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);

  //echo $mix[0];

  /*-------------------------------------------- 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;

}
// http://www.example.com/ - Checksum: 6540747202

function getPR($url)
{
//print("url:\t{$_GET['url']}\n");

$ch = "6" . GoogleCH(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);
  $pagerank = 0;
  //$pagerank = substr(fgets($fp, 128), 4);
  //echo $pagerank;
  while (!feof($fp)) {
        $data = fgets($fp, 128);
        $pos = strpos($data, "Rank_");
        if($pos === false){} else{
 $pagerank = substr($data, $pos + 9);
 //echo $pagerank;
 break;
        }
  }
  fclose($fp);
}

return $pagerank;
}

?>

använd getPR("dindomän.tld") för att få PR som ett siffervärde.

tartareandesire 2006-09-23 17:34

Gäller denna algoritm fortfarande? Om inte får någon gärna skicka mig en fungerande ny version.

Mvh Vincent

martine 2006-09-27 23:34

Citat:

Originally posted by tartareandesire@Sep 23 2006, 17:34
Gäller denna algoritm fortfarande? Om inte får någon gärna skicka mig en fungerande ny version.
Kika på
http://www.webmasternetwork.se/f4t2597hl-st45.html
som var igång i augusti.

Där finns också "algoritmen" i något optimerad (i alla fall kortare) form, urlCheckSum();


Alla tider är GMT +2. Klockan är nu 11:15.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson