Pagerank problem

Discussion in 'Websites' started by Permoney, Mar 11, 2006.

  1. #1
    Hello friends,
    I have a problem about learning PR of websites.

    The code that i use give an error for couple of days like :
    Warning: file(http://www.google.com/search?client...&features=Rank&q=info:http://www.google.com): failed to open stream: HTTP request failed! HTTP/1.0 403 Forbidden

    full code is:
    function getrank($url) { 
        $url = 'info:'.$url; 
        $ch = GoogleCH(strord($url)); 
        $file = "http://www.google.com/search?client=navclient-auto&ch=6$ch&features=Rank&q=$url";
        $data = file($file);
        $rankarray = explode (':', $data[2]); 
        $rank = $rankarray[2]; 
    
    	return $rank;
    PHP:
    Are there anybody who know this problem.

    Now i can not get a PR value.

    Please help..
     
    Permoney, Mar 11, 2006 IP
  2. falcondriver

    falcondriver Well-Known Member

    Messages:
    963
    Likes Received:
    47
    Best Answers:
    0
    Trophy Points:
    145
    #2
    cant test it here, because i dont have the code for your googleCH() function.
    but maybe it helps to fake the referer:
    http://www.google.com/search?client=opera&rls=en&q=test&sourceid=opera&ie=utf-8&oe=utf-8
    just replace "test" with your query and try again.
     
    falcondriver, Mar 11, 2006 IP
  3. Permoney

    Permoney Active Member

    Messages:
    360
    Likes Received:
    28
    Best Answers:
    0
    Trophy Points:
    70
    #3
    hi
    thanks for your answer.But i always get PR 0 Value this time.
    full php code is:

    <?php
    define('GOOGLE_MAGIC', 0xE6359A60);
    
    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 ^= (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)              
        {
            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 $mix[2];
    }
    
    function strord($string) {
        for($i=0;$i<strlen($string);$i++) {
            $result[$i] = ord($string{$i});
        }
        return $result;
    }
    
    function getrank($url)
    {
    $url = 'info:'.$url;
    $ch = GoogleCH(strord($url));
    
    $file = "http://www.google.com/search?client=navclient-auto&ch=6$ch&features=Rank&q=$url";
    $data = file($file);
    $rankarray = explode (':', $data[2]);
    $rank = $rankarray[2];
    return $rank;
    }
      if (isset($_GET['url']) && !empty($_GET['url']))
      {
        $url = $_GET['url'];
        $pr = getrank($url);
        $pr_html = '
    
           '.$pr.'
    
        
     ';
      }
      else
        $pr_html = '';
    
    
          if ($pr_html == 0) {
    $location="rank0.gif";
    } elseif ($pr_html == 1) {
    $location="rank1.gif";
    } elseif ($pr_html == 2) {
    $location="rank2.gif";
    } elseif ($pr_html == 3) {
    $location="rank3.gif";
    } elseif ($pr_html == 4) {
    $location="rank4.gif";
    } elseif ($pr_html == 5) {
    $location="rank5.gif";
    } elseif ($pr_html == 6) {
    $location="rank6.gif";
    } elseif ($pr_html == 7) {
    $location="rank7.gif";
    } elseif ($pr_html == 8) {
    $location="rank8.gif";
    } elseif ($pr_html == 9) {
    $location="rank9.gif";
    } elseif ($pr_html == 10) {
    $location="rank10.gif";
    }
    
    header("Location: ".$location);
    ?>
    
    
    
    PHP:
    thanks in advanced
     
    Permoney, Mar 11, 2006 IP