Google Pagerank:

<?
$googlehost
="toolbarqueries.google.com"
$googleua="Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.6) Gecko/20060728 Firefox/1.5"

function 
StrToNum($Str$Check$Magic) { 
    
$Int32Unit 4294967296

    
$length strlen($Str); 
    for (
$i 0$i $length$i++) { 
        
$Check *= $Magic;      
        if (
$Check >= $Int32Unit) { 
            
$Check = ($Check $Int32Unit * (int) ($Check $Int32Unit)); 
            
$Check = ($Check < -2147483648) ? ($Check $Int32Unit) : $Check
        } 
        
$Check += ord($Str{$i});  
    } 
    return 
$Check


function 
HashURL($String) { 
    
$Check1 StrToNum($String0x15050x21); 
    
$Check2 StrToNum($String00x1003F); 

    
$Check1 >>= 2;      
    
$Check1 = (($Check1 >> 4) & 0x3FFFFC0 ) | ($Check1 0x3F); 
    
$Check1 = (($Check1 >> 4) & 0x3FFC00 ) | ($Check1 0x3FF); 
    
$Check1 = (($Check1 >> 4) & 0x3C000 ) | ($Check1 0x3FFF);     
     
    
$T1 = (((($Check1 0x3C0) << 4) | ($Check1 0x3C)) <<) | ($Check2 0xF0F ); 
    
$T2 = (((($Check1 0xFFFFC000) << 4) | ($Check1 0x3C00)) << 0xA) | ($Check2 0xF0F0000 ); 
     
    return (
$T1 $T2); 


function 
CheckHash($Hashnum) { 
    
$CheckByte 0
    
$Flag 0

    
$HashStr sprintf('%u'$Hashnum) ; 
    
$length strlen($HashStr); 
     
    for (
$i $length 1;  $i >= 0;  $i --) { 
        
$Re $HashStr{$i}; 
        if (
=== ($Flag 2)) {               
            
$Re += $Re;      
            
$Re = (int)($Re 10) + ($Re 10); 
        } 
        
$CheckByte += $Re
        
$Flag ++;     
    } 

    
$CheckByte %= 10
    if (
!== $CheckByte) { 
        
$CheckByte 10 $CheckByte
        if (
=== ($Flag 2) ) { 
            if (
=== ($CheckByte 2)) { 
                
$CheckByte += 9
            } 
            
$CheckByte >>= 1
        } 
    } 

    return 
'7'.$CheckByte.$HashStr


function 
getch($url) { return CheckHash(HashURL($url)); } 

function 
google_pagerank($url) { 
    global 
$googlehost,$googleua
    
$ch getch($url); 
    
$fp fsockopen($googlehost80$errno$errstr30); 
    if (
$fp) { 
       
$out "GET /search?client=navclient-auto&ch=$ch&features=Rank&q=info:$url HTTP/1.1rn"
       
$out .= "User-Agent: $googleuarn"
       
$out .= "Host: $googlehostrn"
       
$out .= "Connection: Closernrn"
     
       
fwrite($fp$out); 
       while (!
feof($fp)) { 
            
$data fgets($fp128); 
            
$pos strpos($data"Rank_"); 
            if(
$pos === false){} else{ 
                
$pr=substr($data$pos 9); 
                
$pr=trim($pr); 
                
$pr=str_replace("n",'',$pr); 
                return 
$pr
            } 
       } 
       
fclose($fp); 
    } 
}
?>

← назад