Welcome to the GoFuckYourself.com - Adult Webmaster Forum forums.

You are currently viewing our boards as a guest which gives you limited access to view most discussions and access our other features. By joining our free community you will have access to post topics, communicate privately with other members (PM), respond to polls, upload content and access many other special features. Registration is fast, simple and absolutely free so please, join our community today!

If you have any problems with the registration process or your account login, please contact us.

Post New Thread Reply

Register GFY Rules Calendar
Go Back   GoFuckYourself.com - Adult Webmaster Forum > >
Discuss what's fucking going on, and which programs are best and worst. One-time "program" announcements from "established" webmasters are allowed.

 
Thread Tools
Old 10-15-2006, 12:03 AM   #1
gon
Registered User
 
Join Date: Aug 2005
Posts: 55
PHP: Google PageRank Checker

see this

it shows an error:

Your client does not have permission to get URL /search?client=navclient-auto&ch=6-2147439921&ie=UTF-8&oe=UTF-8&features=Rank&q=info:http%3A%2F%2Fa.com from this server. (Client IP address: xxx.xxx.xxx.xxx)

do you see the same error ?

I need a php script that show the PR of a web...

thank you !
__________________
gon is offline   Share thread on Digg Share thread on Twitter Share thread on Reddit Share thread on Facebook Reply With Quote
Old 10-15-2006, 12:06 AM   #2
KRL
Entrepreneur
 
Join Date: Oct 2002
Location: USA
Posts: 31,429
http://www.checkpagerank.com/
__________________
If you would like to develop your domains, you can lease inexpensive foreign labor
from the leaders in the field at iWebmasters.com TO LOWER YOUR COSTS AND INCREASE YOUR PRODUCTION!

*** *** *** *** *** *** *** *** *** *** *** ***
Domains Adult News KRL's Newsletter Biz Tips Just Listed Domains
KRL is offline   Share thread on Digg Share thread on Twitter Share thread on Reddit Share thread on Facebook Reply With Quote
Old 10-15-2006, 12:12 AM   #3
gon
Registered User
 
Join Date: Aug 2005
Posts: 55
Thank you very much KRL, it's so interesting, but I need to get PageRank in a PHP variable. Do you see the same error with this?
__________________
gon is offline   Share thread on Digg Share thread on Twitter Share thread on Reddit Share thread on Facebook Reply With Quote
Old 10-15-2006, 12:13 AM   #4
GrouchyAdmin
Now choke yourself!
 
GrouchyAdmin's Avatar
 
Industry Role:
Join Date: Apr 2006
Posts: 12,085
It's been blocked. You can't do that. People abused it, so Google killed it. You'll have to find another means.
__________________
GrouchyAdmin is offline   Share thread on Digg Share thread on Twitter Share thread on Reddit Share thread on Facebook Reply With Quote
Old 10-15-2006, 12:13 AM   #5
gooddomains
Too lazy to set a custom title
 
Join Date: Jul 2003
Location: Netherlands
Posts: 10,127
contact google
gooddomains is offline   Share thread on Digg Share thread on Twitter Share thread on Reddit Share thread on Facebook Reply With Quote
Old 10-15-2006, 12:16 AM   #6
gon
Registered User
 
Join Date: Aug 2005
Posts: 55
Thanks !
__________________
gon is offline   Share thread on Digg Share thread on Twitter Share thread on Reddit Share thread on Facebook Reply With Quote
Old 10-15-2006, 12:16 AM   #7
LiveDose
Show Yer Tits!
 
LiveDose's Avatar
 
Industry Role:
Join Date: Feb 2002
Location: Somewhere Out there...
Posts: 25,792
Quote:
Originally Posted by KRL View Post
Nice link.
__________________

Scammer Alert: acer19 acer [email protected] [email protected] Money stolen using PayPal
LiveDose is offline   Share thread on Digg Share thread on Twitter Share thread on Reddit Share thread on Facebook Reply With Quote
Old 10-15-2006, 12:25 AM   #8
woj
<&(©¿©)&>
 
woj's Avatar
 
Industry Role:
Join Date: Jul 2002
Location: Chicago
Posts: 47,882
If you want to invest a few bucks, I'll hook you up with one, icq: 33375924
__________________
Custom Software Development, email: woj#at#wojfun#.#com to discuss details or skype: wojl2000 or gchat: wojfun or telegram: wojl2000
Affiliate program tools: Hosted Galleries Manager Banner Manager Video Manager
Wordpress Affiliate Plugin Pic/Movie of the Day Fansign Generator Zip Manager
woj is offline   Share thread on Digg Share thread on Twitter Share thread on Reddit Share thread on Facebook Reply With Quote
Old 10-15-2006, 12:27 AM   #9
squishypimp
PostMaster General
 
Join Date: Aug 2006
Posts: 10,781
Quote:
Originally Posted by KRL View Post
thanks, this will come in handy
__________________
squishypimp is offline   Share thread on Digg Share thread on Twitter Share thread on Reddit Share thread on Facebook Reply With Quote
Old 10-15-2006, 12:36 AM   #10
mlove
the guy
 
mlove's Avatar
 
Industry Role:
Join Date: Apr 2005
Posts: 764
Well, to directly access that url, you need to forge your user-agent reply. Also, google regularly blocks websites that automatically perform the lookups. I think those big sites that are still running actually cycle connections to google through a set of proxies. Then when one proxy gets blocked, it just removes the result, and a new set of proxies are just added into their config.
__________________
If you won't feel as good, I won't feel as cheap.
mlove is offline   Share thread on Digg Share thread on Twitter Share thread on Reddit Share thread on Facebook Reply With Quote
Old 10-15-2006, 02:26 AM   #11
Tempest
Too lazy to set a custom title
 
Industry Role:
Join Date: May 2004
Location: West Coast, Canada.
Posts: 10,217
Are you sure you're doing it right? i.e. the ch= is correctly calculated?
Tempest is offline   Share thread on Digg Share thread on Twitter Share thread on Reddit Share thread on Facebook Reply With Quote
Old 10-15-2006, 02:33 AM   #12
Tempest
Too lazy to set a custom title
 
Industry Role:
Join Date: May 2004
Location: West Coast, Canada.
Posts: 10,217
Quote:
Originally Posted by Tempest View Post
Are you sure you're doing it right? i.e. the ch= is correctly calculated?
Never mind.. you're not.. with the correct ch value the url you posted works.
Tempest is offline   Share thread on Digg Share thread on Twitter Share thread on Reddit Share thread on Facebook Reply With Quote
Old 10-15-2006, 02:37 AM   #13
ilbb
Confirmed User
 
ilbb's Avatar
 
Industry Role:
Join Date: May 2005
Location: EU - Czech republic
Posts: 3,025
they changed 'Magic number' algorith few months ago...You should try this:

PHP Code:
define('GOOGLE_MAGIC'0xE6359A60);
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 
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;
}


// converts an array of 32 bit integers into an array with 8 bit values. Equivalent to (BYTE *)arr32

function c32to8bit($arr32) {
    for(
$i=0;$i<count($arr32);$i++) {
        for (
$bitOrder=$i*4;$bitOrder<=$i*4+3;$bitOrder++) {
            
$arr8[$bitOrder]=$arr32[$i]&255;
            
$arr32[$i]=zeroFill($arr32[$i], 8);
        }
    }
    return 
$arr8;
}

function 
pagerank ($urla) {

$url 'info:'.$urla;
//print("url:\t{$url}\n");
$ch GoogleCH(strord($url));
//printf("Checksum <2.0.114:\t6%u\n",$ch);

$ch=sprintf("%u"$ch);
// new since Toolbar 2.0.114

$ch = ((($ch/7) << 2) | (((int)fmod($ch,13))&7));

$prbuf = array();
$prbuf[0] = $ch;
for(
$i 1$i 20$i++) {
      
$prbuf[$i] = $prbuf[$i-1]-9;
}
$ch GoogleCH(c32to8bit($prbuf), 80);

$kodsprintf("6%u",$ch);

$gpr=pfile("http://toolbarqueries.google.com/search?client=navclient-auto&ch=".$kod."&ie=UTF-8&oe=UTF-8&features=Rank:FVN&q=info:".urlencode($urla));
$gpr=split ("\n",$gpr);
$gpr[2]=trim ($gpr[2]);
if ((
$gpr[2])=="") {return "n/a";}
$rank=split (":",$gpr[2]);
return (
trim($rank[2]));


Last edited by ilbb; 10-15-2006 at 02:38 AM.. Reason: mispelling
ilbb is offline   Share thread on Digg Share thread on Twitter Share thread on Reddit Share thread on Facebook Reply With Quote
Old 10-15-2006, 09:27 PM   #14
gon
Registered User
 
Join Date: Aug 2005
Posts: 55
Tempest you are right

Quote:
Originally Posted by Tempest View Post
Never mind.. you're not.. with the correct ch value the url you posted works.
OK, Tempest, I believe that you are right, I've been looking for and I have found that many servers don't calculate the right value for $ch, in my local server it works fine, but when I upload to my server it crash. My economy is weak, but I can pay $15 (paypal) for who changes me the code so that works in my server, I paste the code bellow:

PHP Code:
<?php

define
('GMAG'0xE6359A60);

//unsigned shift right
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 
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 
GCH($url$length=null$init=GMAG) {
    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;
}

function 
getPR($_url) {
    
$url 'info:'.$_url;
    
$ch GCH(strord($url));
    
$url='info:'.urlencode($_url);

    
$pr file("http://www.google.com/search?client=navclient-auto&ch=6$ch&ie=UTF-8&oe=UTF-8&features=Rank&q=$url");
    
$pr_str implode(""$pr);
    return 
substr($pr_str,strrpos($pr_str":")+1);
}


//echo "PageRank: ".getPR("http://www.example.com");

?>
__________________
gon is offline   Share thread on Digg Share thread on Twitter Share thread on Reddit Share thread on Facebook Reply With Quote
Old 10-15-2006, 10:55 PM   #15
Zorgman
Confirmed User
 
Zorgman's Avatar
 
Join Date: Aug 2002
Location: Sydney, Australia
Posts: 6,103
I had a Google PR checker on www.cyberwebmasters.com but Google blocked it. Fair enough to as I was checking 5000 domains everyday for 3 weeks. lol
__________________
---
Zorgman is offline   Share thread on Digg Share thread on Twitter Share thread on Reddit Share thread on Facebook Reply With Quote
Old 10-17-2006, 09:53 PM   #16
gon
Registered User
 
Join Date: Aug 2005
Posts: 55
The offer continues in vigor...
__________________
gon is offline   Share thread on Digg Share thread on Twitter Share thread on Reddit Share thread on Facebook Reply With Quote
Old 10-17-2006, 10:17 PM   #17
Tempest
Too lazy to set a custom title
 
Industry Role:
Join Date: May 2004
Location: West Coast, Canada.
Posts: 10,217
Quote:
Originally Posted by gon View Post
The offer continues in vigor...
Wish I had some code to give you but mine is in Perl. I doubt anyone will do what you need for $15. You might be better off looking around for other code to find one that works.

The problem is most likely related to a fundamental flaw in PHP in that it doesn't do bitwise (unsigned 32/64 bit ints) properly. There are some work arounds but you have to know where the error is occuring.
Tempest is offline   Share thread on Digg Share thread on Twitter Share thread on Reddit Share thread on Facebook Reply With Quote
Old 10-17-2006, 10:26 PM   #18
GrouchyAdmin
Now choke yourself!
 
GrouchyAdmin's Avatar
 
Industry Role:
Join Date: Apr 2006
Posts: 12,085
The pagerank checker in axslinks works, and it looks like an elder version of the same damn code. Works on 3 different hosts that I've tested it on - if it doesn't work for you, there's probably other problems with your server. If it does work for you, feel free to dump the cash to darksoul, because I stole it from his, and he got it from wherever.

Code:
<?php 
/* 
        Written and contributed by 
        Alex Stapleton, 
        Andy Doctorow, 
        Tarakan, 
        Bill Zeller, 
        Vijay "Cyberax" Bhatter 
        traB 
    This code is released into the public domain 
*/ 
define('GOOGLE_MAGIC', 0xE6359A60); 

//unsigned shift right 
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 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 9 : $c+=($url[$k+8]<<8); 
          /* the first byte of c is reserved for the length */ 
        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]); 
         /* 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; 
} 


// converts an array of 32 bit integers into an array with 8 bit values. Equivalent to (BYTE *)arr32 

function c32to8bit($arr32) { 
    for($i=0;$i<count($arr32);$i++) { 
        for ($bitOrder=$i*4;$bitOrder<=$i*4+3;$bitOrder++) { 
            $arr8[$bitOrder]=$arr32[$i]&255; 
            $arr32[$i]=zeroFill($arr32[$i], 8); 
        }     
    } 
    return $arr8; 
} 

function GoogleCHNew($ch){
	$ch=sprintf("%u", $ch); 
	$ch = ((($ch/7) << 2) | (((int)fmod($ch,13))&7)); 
	$prbuf = array(); 
	$prbuf[0] = $ch; 
	for($i = 1; $i < 20; $i++) { 
      $prbuf[$i] = $prbuf[$i-1]-9; 
	} 
	$ch = GoogleCH(c32to8bit($prbuf), 80); 
	return sprintf("%u", $ch);
}

function get_page_rank($url){
	$url = preg_replace('/\?.*$/','?',$url);
	$reqgr = "info:".$url;
    $reqgre = "info:".urlencode($url);
    $gch = GoogleCH(strord($reqgr));
    $gch = "6".GoogleCHNew($gch);
    $querystring = "http://toolbarqueries.google.com/search?client=navclient-auto&ch=".$gch."&ie=UTF-8&oe=UTF-8&features=Rank:FVN&q=".$reqgre;
    $patern = '/^http:/';
    $patern2 = '/^http:\/\/.*google\..*\/(search|images|groups|news).*/';
    $patern3 = '/^http:\/\/localhost.*/';
    $patern4 = '/^http:\/\/(127\.|10\.|172\.16|192\.168).*/'; //local ip
    if(!preg_match($patern, $url) || preg_match($patern2, $url) ||
       preg_match($patern3, $url) || preg_match($patern4, $url)){
       	return -1;
    }else{
			return $querystring;
    }
} 
?>
__________________
GrouchyAdmin is offline   Share thread on Digg Share thread on Twitter Share thread on Reddit Share thread on Facebook Reply With Quote
Post New Thread Reply
Go Back   GoFuckYourself.com - Adult Webmaster Forum > >

Bookmarks



Advertising inquiries - marketing at gfy dot com

Contact Admin - Advertise - GFY Rules - Top

©2000-, AI Media Network Inc



Powered by vBulletin
Copyright © 2000- Jelsoft Enterprises Limited.