PHP code to query Google PR value online

WBOY
Release: 2016-07-25 08:57:44
Original
1128 people have browsed it
  1. /**

  2. * Get Google PR value
  3. * by bbs.it-home.org
  4. */
  5. define('GOOGLE_MAGIC', 0xE6359A60);
  6. function zeroFill($a, $b)
  7. {
  8. $z = hexdec(80000000);
  9. if ($z & $a)
  10. {
  11. $a = ($a>>1);
  12. $a &= (~$z);
  13. $a |= 0x40000000;
  14. $a = ($a>>($b-1));
  15. }
  16. else
  17. {
  18. $a = ($a>>$b);
  19. }
  20. return $a;
  21. }

  22. function mix($a,$b,$c)

  23. {
  24. $a -= $b; $a -= $c; $a ^= (zeroFill($c,13));
  25. $b -= $c; $b -= $a; $b ^= ($a<<8);
  26. $c -= $a; $c -= $b; $c ^= (zeroFill($b,13));
  27. $a -= $b; $a -= $c; $a ^= (zeroFill($c,12));
  28. $b -= $c; $b -= $a; $b ^= ($a<<16);
  29. $c -= $a; $c -= $b; $c ^= (zeroFill($b,5));
  30. $a -= $b; $a -= $c; $a ^= (zeroFill($c,3));
  31. $b -= $c; $b -= $a; $b ^= ($a<<10);
  32. $c -= $a; $c -= $b; $c ^= (zeroFill($b,15));
  33. return array($a,$b,$c);
  34. }

  35. function GoogleCH($url, $length=null, $init=GOOGLE_MAGIC)

  36. {
  37. if(is_null($length))
  38. {
  39. $length = sizeof($url);
  40. }
  41. $a = $b = 0x9E3779B9;
  42. $c = $init;
  43. $k = 0;
  44. $len = $length;
  45. while($len >= 12)
  46. {
  47. $a += ($url[$k+0] +($url[$k+1]<<8) +($url[$k+2]<<16) +($url[$k+3]<<24));
  48. $b += ($url[$k+4] +($url[$k+5]<<8) +($url[$k+6]<<16) +($url[$k+7]<<24));
  49. $c += ($url[$k+8] +($url[$k+9]<<8) +($url[$k+10]<<16)+($url[$k+11]<<24));
  50. $mix = mix($a,$b,$c);
  51. $a = $mix[0]; $b = $mix[1]; $c = $mix[2];
  52. $k += 12;
  53. $len -= 12;
  54. }

  55. $c += $length;

  56. switch($len)
  57. {
  58. case 11: $c+=($url[$k+10]<<24);
  59. case 10: $c+=($url[$k+9]<<16);
  60. case 9 : $c+=($url[$k+8]<<8);
  61. case 8 : $b+=($url[$k+7]<<24);
  62. case 7 : $b+=($url[$k+6]<<16);
  63. case 6 : $b+=($url[$k+5]<<8);
  64. case 5 : $b+=($url[$k+4]);
  65. case 4 : $a+=($url[$k+3]<<24);
  66. case 3 : $a+=($url[$k+2]<<16);
  67. case 2 : $a+=($url[$k+1]<<8);
  68. case 1 : $a+=($url[$k+0]);
  69. }
  70. $mix = mix($a,$b,$c);
  71. return $mix[2];
  72. }

  73. function strord($string) {

  74. for($i=0;$i
  75. $result[$i] = ord($string{$i});
  76. }
  77. return $result;
  78. }

  79. function ReadPR($link)

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

  82. if (!$fp)

  83. {
  84. echo "$errstr ($errno)n";
  85. exit(1);
  86. }
  87. else
  88. {
  89. $out = "GET $link HTTP/1.0rn";
  90. $out .= "Host: toolbarqueries.google.comrn";
  91. $out .= "User-Agent: Mozilla/4.0 (compatible; GoogleToolbar 2.0.114.9-big; Linux 2.6)rn";
  92. $out .= "Connection: Closernrn";
  93. fwrite($fp, $out);

  94. do{

  95. $line = fgets($fp, 128);
  96. }while ($line !== "rn");
  97. $data = fread($fp,8192);
  98. fclose ($fp);
  99. return $data;
  100. }
  101. }

  102. function GetPR($url)

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

  110. if ( isset($_POST['url']) && $_POST['url'] !== '' )

  111. {
  112. echo 'PageRank: '.GetPR($_POST['url']);
  113. }
  114. ?>
  115. Google PR值查询
  116. Google PR值查询 获取源代码


  117. URL:
复制代码


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
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!