Home php教程 php手册 最新Google PR查询工具GoogleCH函数核心代码

最新Google PR查询工具GoogleCH函数核心代码

Jun 21, 2016 am 08:56 AM

取自国外编程开发技术论坛里的代码,最新Google PR查询工具GoogleCH函数核心代码,获取最新的GOOGLE PR值.

代码如下.

[code] define('GOOGLE_MAGIC', 0xE6359A60);
function obtainPR($data)
{
     $ret = array();
     $parser = xml_parser_create();
     xml_parser_set_option($parser,XML_OPTION_CASE_FOLDING,0);
     xml_parser_set_option($parser,XML_OPTION_SKIP_WHITE,1);
     xml_parse_into_struct($parser,$data,$values,$tags);
     xml_parser_free($parser);
     $hash_stack = array();
     foreach ($values as $key => $val)
     {
         switch ($val['type'])
         {
           case 'complete':
               array_push($hash_stack, $val['tag']);
               $type = implode($hash_stack, "][");
               if ($type == "RK")
               {
                 $PageRank = $val[value];
               }
               array_pop($hash_stack);
           break;
         }//swhitch
     }//foreach
    
     return $PageRank;
}//obtainPR

//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) {
  $a -= $b; $a -= $c; $a ^= (zeroFill($c,13));
  $b -= $c; $b -= $a; $b ^= ($a   $c -= $a; $c -= $b; $c ^= (zeroFill($b,13));
  $a -= $b; $a -= $c; $a ^= (zeroFill($c,12));
  $b -= $c; $b -= $a; $b ^= ($a   $c -= $a; $c -= $b; $c ^= (zeroFill($b,5));
  $a -= $b; $a -= $c; $a ^= (zeroFill($c,3)); 
  $b -= $c; $b -= $a; $b ^= ($a   $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]         $b += ($url[$k+4] +($url[$k+5]         $c += ($url[$k+8] +($url[$k+9]         $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]         case 10: $c+=($url[$k+9]         case 9 : $c+=($url[$k+8]           /* the first byte of c is reserved for the length */
        case 8 : $b+=($url[$k+7]         case 7 : $b+=($url[$k+6]         case 6 : $b+=($url[$k+5]         case 5 : $b+=($url[$k+4]);
        case 4 : $a+=($url[$k+3]         case 3 : $a+=($url[$k+2]         case 2 : $a+=($url[$k+1]         case 1 : $a+=($url[$k+0]);
         /* case 0: nothing left to add */
    }
    $mix = 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         $result[$i] = ord($string{$i});
    }
    return $result;
}

// converts an array of 32 bit integers into an array with 8 bit values. Equivalent to (BYTE *)arr32
function c32to8bit($arr32) {
    for($i=0;$i         for ($bitOrder=$i*4;$bitOrder             $arr8[$bitOrder]=$arr32[$i]&255;
            $arr32[$i]=zeroFill($arr32[$i], 8);
        }   
    }
    return $arr8;
}

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

print("URL .... $url\n");
$url = 'info:' . $url;
$ch = GoogleCH(strord($url));
$url_to_parse = sprintf ("http://toolbarqueries.google.com/search?client=navclient-auto&ch=6%u&ie=UTF-8&oe=UTF-8&q=%s", $ch, $url);
$value = obtainPR(file_get_contents($url_to_parse));
printf("

  • Checksum ..... 6%u ...... link .... PR = $value\n",$ch);
    $ch=sprintf("%u", $ch);
    // new since Toolbar 2.0.114

    $ch = ((($ch/7) $prbuf = array();
    $prbuf[0] = $ch;
    for($i = 1; $i       $prbuf[$i] = $prbuf[$i-1]-9;
    }
    $ch = GoogleCH(c32to8bit($prbuf), 80);
    $url_to_parse = sprintf ("http://toolbarqueries.google.com/search?client=navclient-auto&ch=6%u&ie=UTF-8&oe=UTF-8&q=%s", $ch, $url);
    $value = obtainPR(file_get_contents($url_to_parse));
    //
    printf("

  • Checksum >=2.0.114: ..... 6%u ...... link .... PR = $value\n",$ch);
    ?>[/code]



  • Statement of this Website
    The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

    Hot AI Tools

    Undresser.AI Undress

    Undresser.AI Undress

    AI-powered app for creating realistic nude photos

    AI Clothes Remover

    AI Clothes Remover

    Online AI tool for removing clothes from photos.

    Undress AI Tool

    Undress AI Tool

    Undress images for free

    Clothoff.io

    Clothoff.io

    AI clothes remover

    AI Hentai Generator

    AI Hentai Generator

    Generate AI Hentai for free.

    Hot Article

    R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
    2 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
    Repo: How To Revive Teammates
    4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
    Hello Kitty Island Adventure: How To Get Giant Seeds
    3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌

    Hot Tools

    Notepad++7.3.1

    Notepad++7.3.1

    Easy-to-use and free code editor

    SublimeText3 Chinese version

    SublimeText3 Chinese version

    Chinese version, very easy to use

    Zend Studio 13.0.1

    Zend Studio 13.0.1

    Powerful PHP integrated development environment

    Dreamweaver CS6

    Dreamweaver CS6

    Visual web development tools

    SublimeText3 Mac version

    SublimeText3 Mac version

    God-level code editing software (SublimeText3)