Google PageRank值的源代码
<?php 
/** 
     This code is released unto the public domain 
*/ 
//header("Content-Type: text/plain; charset=utf-8"); 
define('GOOGLE_MAGIC'0xE6359A60); 
     
//unsigned shift right 
function zeroFill($a$b

     
$z hexdec(80000000); 
             if (
$z &#038; $a) 
             

                 
$a = ($a>>1); 
                 
$a &#038;= (~$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)                     /* all the case statements fall through */ 
     

             case 
11$c+=($url[$k+10]<<24); 
             case 
10$c+=($url[$k+9]<<16); 
             case 
$c+=($url[$k+8]<<8); 
             
/* the first byte of c is reserved for the length */ 
             
case $b+=($url[$k+7]<<24); 
             case 
$b+=($url[$k+6]<<16); 
             case 
$b+=($url[$k+5]<<8); 
             case 
$b+=($url[$k+4]); 
             case 
$a+=($url[$k+3]<<24); 
             case 
$a+=($url[$k+2]<<16); 
             case 
$a+=($url[$k+1]<<8); 
             case 
$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<strlen($string);$i++) { 
             
$result[$i] = ord($string{$i}); 
     } 
     return 
$result

// http://www.example.com/ - Checksum: 6540747202 
$url 'info:'.$_GET['url']; 
$ch GoogleCH(strord($url)); 
$url='info:'.urlencode($_GET['url']); 
echo 
file_get_contents("http://www.google.com/search?client= 
     
navclient-auto&ch=6$ch&ie=UTF-8&oe=UTF-8&features=Rank&q=$url"
); 
/* use curl send the user angent 
$curl = curl_init("http://www.google.com/search?client=navclient-auto&ch=6$ 
     
ch&ie=UTF-8&oe=UTF-8&features=Rank&q=$url"); 
curl_setopt ($curl, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; 
     
GoogleToolbar 2.0.110-big; Windows 2000 5.0)"); 
curl_exec($curl); 
*/ 
?>
« 上一篇 | 下一篇 »
只显示10条记录相关文章
php header 跳转 (浏览: 418, 评论: 0)
定时清理旧的log文件 (浏览: 1768, 评论: 1)
FIREFOX取动态input值 (浏览: 1142, 评论: 0)
用css方式巧妙保护邮箱地址 (浏览: 1169, 评论: 0)
PHP5_OOP面向对象---教程下载 (浏览: 2274, 评论: 0)
vc++中用ado连接oracle数据库 (浏览: 4080, 评论: 0)
在DISDUZ!5.5中添加代码高亮插件成功 (浏览: 3080, 评论: 1)
xajax+php的一个DEMO--Blackjack(21点) (浏览: 3489, 评论: 3)
关于使用PHP6的感受 (浏览: 2724, 评论: 0)
[PHP AJAX] 简单比较 xajax、AJASON、flxAJAX、Aja... (浏览: 2697, 评论: 0)
Trackbacks
点击获得Trackback地址,Encode: UTF-8 点击获得Trackback地址,Encode: GB2312 or GBK 点击获得Trackback地址,Encode: BIG5
发表评论

评论内容(*):