Home > Backend Development > PHP Tutorial > PHP code to get Google PR value_PHP tutorial

PHP code to get Google PR value_PHP tutorial

WBOY
Release: 2016-07-21 15:57:48
Original
855 people have browsed it

After updating the blog program today, I suddenly found that the PR bar on the Google toolbar has increased a little. However, due to buffering issues, the PR value currently displayed on the Google toolbar is not necessarily the PR value of the current page, so go to After checking, I found that the PR value of the blog site (http://mlsx.xplore.cn/) has increased to 3, but the home page (http://mlsx.xplore.cn) is still 2. Huo Huo, celebrate.

However, glmir told me this morning that his blog had already reached 3, which made me a little jealous. It also reminded me of Rachel’s blog. They are not as diligent in updating as I am, but their PR is basically not as bad as mine. From this, I came to two self-comforting conclusions:

1) Rachel’s PR is the same as mine, because his travel diary is popular, and I don’t have his handwriting.

2) glemir's PR rose faster than mine, that's because he used a good blog program - wordpress

Haha, laugh at yourself.

Let’s move on to the topic and paste the code to obtain Google’s PR value. I declare that I did not write it, it was just a modification. The checksum algorithm is not yet known.

Demo code click here

Copy code The code is as follows:

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$result[$i] = ord($string{$i});
}
return $result;
}

function ReadPR($link)
{
$fp = fsockopen ("www.google.com", 80, $errno, $errstr, 30);

if (!$fp)
{
echo "$errstr ($errno)n";
exit(1);
}
else
{
$out = "GET $link HTTP/1.0rn";
$out .= "Host: toolbarqueries.google.comrn";
$out .= "User-Agent: Mozilla/4.0 (compatible; GoogleToolbar 2.0.114.9-big; Linux 2.6)rn";
$out .= "Connection: Closernrn";
fwrite($fp, $out);

do{
$line = fgets($fp, 128);
}while ($line !== "rn");
$data = fread($fp,8192);
fclose ($fp);
return $data;
}
}

function GetPR($url)
{
$url ='info:'.$url;
$ch = GoogleCH(strord($url));
$data = ReadPR("/search?client=navclient-auto&ch=6$ch&features=Rank&q=$url");
$rankarray = explode (':', $data);
return $rankarray[2];
}

if ( isset($_POST['url']) && $_POST['url'] !== '' )
{
echo 'PageRank: '.GetPR($_POST['url']);
}
?>
Google PR value query
Google PR value query Get Source code



URL:


www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/317757.htmlTechArticleAfter updating the blog program today, I suddenly found that the PR bar on the Google toolbar has increased a little, but Google tools have always been Due to buffering issues, the PR value currently displayed on the bar is not necessarily...
source:php.cn
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template