Copy codeThe Code is as follows:
/*
* Function: encode the URL
* Parameter description: $ web_url URL, which does not contain "http: //", for example, jb51.net
*/
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 );
}
/*
* Function: Obtain pagerank
* Parameter description: $ domain website domain name, excluding "http ://",
*/
Function pagerank ($ domain)
{
$ StartURL = "http://toolbarqueries.google.com/tbr? Client = navclient-auto & features = Rank: & q = info :";
// $ 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;
}
The PR query tool I wrote is like this, but it should be noted that PR queries are sometimes slow, and some people say why other people's sites query quickly. In fact, many PR query sites have implemented various caches, because PR usually does not change unless Google PR is updated.