google 收录查询与pr 查询 php源码下载

//下面的函数用于查pr
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 google()
{
 //在同时间过于频繁地扫描Google搜索结果,GG会屏蔽该IP.因此冰河在此暂时去掉了此功能
 //诸位网友如果想开放此功能可以,可将下面这一行加上注释即可,谢谢!
 echo "0"; return "";
 global $murl,$furl;
 $url = "";
 $page = file_get_contents($url);
 //echo $page;
 $PageNum = "0";
 $PageNum = str_replace(",","",cut($page,"<p> 约有
<b>", "</b> 项符合"));
 if ($PageNum == "") $PageNum = "0";
 echo "<a href='".$url."' target='_blank'>$PageNum</a>";
}

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 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 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);
 if(trim($rankarray[2])!=""){
  return $rankarray[2];
 }
 else
  return "0";
}

function cut($string,$start,$end)
{
 $message = explode($start,$string);
 $message = explode($end,$message[1]);
 return $message[0];
}

function strord($string) {
 for($i=0;$i<strlen($string);$i++) {
 $result[$i] = ord($string{$i});
 }
 return $result;
}

function strord($string) {
 for($i=0;$i<strlen($string);$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);
 if(trim($rankarray[2])!=""){
  return $rankarray[2];
 }
 else
  return "0";
}

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 unescape($str) {
  $str = rawurldecode($str);
  preg_match_all("/(?:%u.{4})|.+/",$str,$r);
  $ar = $r[0];
  foreach($ar as $k=>$v) {
    if(substr($v,0,2) == "%u" && strlen($v) == 6)
      $ar[$k] = iconv("UCS-2","GB2312",pack("H4",substr($v,-4)));
  }
  return join("",$ar);
}

相关文章

Comment ()
评论是一种美德,说点什么吧,否则我会恨你的。。。