最近发现本站tools.phperz.com中的google pr查询不能用了,但在本机调试的一切正常,拿到服务器上就不行,经过对比发现ch参数算出来结果不一样,不知道为什么,可能是windows平台和liinux平台不一样,随又找一个google pr查询的代码,发现这个版本的代码超级简单.和目前网上流传的google pr查询代码不一样. 而且在window/linux平台下都能用.贴出来和大家分享.
以下为引用的内容: <?php /** * 用法: pr.php?weburl=www.phperz.com */
/* *功能:对URL进行编码 *参数说明:$web_url 网站URL,不包含"http://",例如www.phperz.com */ function HashURL($url) {$SEED = "Mining PageRank is AGAINST GOOGLE'S TERMS OF SERVICE. Yes, I'm talking to you, scammer."; $Result = 0x01020345; for ($i=0; $i<strlen($url); $i++) { $Result ^= ord($SEED{$i%87}) ^ ord($url{$i}); $Result = (($Result >> 23) & 0x1FF) | $Result << 9; } return sprintf("8%x", $Result); }
/* *功能:获取pagerank *参数说明:$domain 网站域名,不包含"http://",例如www.phperz.com */ function pagerank($domain) { $StartURL = "www.phperz.com */ function pagerank($domain) { $StartURL = "http://www.google.com/search?client=navclient-auto&features=Rank:&q=info:";
$GoogleURL = $StartURL.$domain. '&ch='.HashURL($domain);
$fcontents = file_get_contents("$GoogleURL");
$pagerank = substr($fcontents,9); if (!$pagerank) return "0";else return $pagerank; }
$url = trim($_GET['weburl']); $url = preg_replace("/^http:\/\//i","",$url); if ($url!="") { $ggpr=pagerank("http://".$url); if ($ggpr=="") { echo "0"; } else { echo $ggpr; } } ?>
|