J'ai collecté et trié le code pour interroger la valeur pr dans asp à partir d'Internet. J'ai expérimenté et utilisé avec succès asp pour interroger la valeur pr, et le test a réussi. Copiez le code comme suit :
<%@LANGUAGE=JAVASCRIPT%>
<title>Programme asp de requête de valeur Google PR</title>
<%
fonction hexdec(str)
{
return parseInt(str,16);
}
fonction zéroFill(a,b)
{
var z = hexdec(80000000);
si (z & a)
{
une = une>>1 ;
une &= ~z;
une |= 0x40000000 ;
une = une>>(b-1);
}
autre
{
une = une >> b;
}
retour(a);
}
fonction mix(a,b,c)
{
une -= b; une -= c; une ^= (zeroFill(c,13));
b -= c;
c -= a; c -= b; c ^= (zeroFill(b,13));
une -= b; une -= c; une ^= (zeroFill(c,12));
b -= c;
c -= a; c -= b; c ^= (zeroFill(b,5));
une -= b; une -= c; une ^= (zeroFill(c,3));
b -= c;
c -= a; c -= b; c ^= (zéroRemplissage(b,15));
var ret = nouveau tableau((a),(b),(c));
retour à la retraite;
}
fonction GoogleCH(url,longueur)
{
var initialisation = 0xE6359A60 ;
si (arguments. longueur == 1)
longueur = url.longueur ;
var a = 0x9E3779B9 ;
varb = 0x9E3779B9 ;
varc = 0xE6359A60 ;
var k = 0 ;
var len = longueur;
var mixo = nouveau tableau();
tandis que (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));
mixo = mélanger(a,b,c);
a = mixo[0]; b = mixo[1]; c = mixo[2];
k + = 12 ;
longueur -= 12 ;
}
c += longueur ;
interrupteur (lentille)
{
cas 11 :
c += url[k+10]<<24;
cas 10 :
c+=url[k+9]<<16;
cas 9 :
c+=url[k+8]<<8;
cas 8 :
b+=(url[k+7]<<24);
cas 7 :
b+=(url[k+6]<<16);
cas 6 :
b+=(url[k+5]<<8);
cas 5 :
b+=(url[k+4]);
cas 4 :
a+=(url[k+3]<<24);
cas 3 :
a+=(url[k+2]<<16);
cas 2 :
a+=(url[k+1]<<8);
cas 1 :
a+=(url[k+0]);
}
mixo = mélanger(a,b,c);
si (mixo[2] < 0)
retourner (0x100000000 + mixo[2]);
autre
retourner mixo[2];
}
fonction(s) courant(s)
{
var re = nouveau tableau ();
pour(i=0;i<s.length;i++)
{
re[i] = s.charCodeAt(i);
}
retour re;
}
//Provenant d'Internet, www.vevb.com
fonction c32to8bit (arr32)
{
var arr8 = nouveau tableau ();
pour(i=0;i<arr32.length;i++)
{
pour (bitOrder=i*4;bitOrder<=i*4+3;bitOrder++)
{
arr8[bitOrder]=arr32[i]&255;
arr32[i]=zeroFill(arr32[i], 8);
}
}
retourner arr8 ;
}
fonction monfmod(x,y)
{
var je = Math.floor(x/y);
retourner (x - i*y);
}
// Depuis Internet, www.pqshow.com
fonction GoogleNewCh(ch)
{
ch = (((ch/7) << 2) | ((myfmod(ch,13))&7));
prbuf = nouveau tableau();
prbuf[0] = ch;
pour(je = 1; je < 20; je++) {
prbuf[i] = prbuf[i-1]-9;
}
ch = GoogleCH(c32to8bit(prbuf), 80);
retourner ch;
}
fonction URLencode(sStr)
{
return encodeURIComponent(sStr).replace(//+/g,%2B).replace(////g,%2F);
}
fonction getGoogleHostInfo(url){
var reqgr = info : + url ;
var reqgre = info : + URLencode(url);
//Response.Write(reqgr+<br>+reqgre); Depuis Internet, www.vevb.com
gch = GoogleCH(strord(reqgr));
gch = 6 + GoogleNewCh(gch);
var querystring = http://toolbarqueries.google.com/search?client=navclient-auto&ch= + gch + &ie=UTF-8&oe=UTF-8&features=Rank:FVN&q= + reqgre;
//Response.Write(querystring); Depuis Internet, www.vevb.com
var objXMLHTTP, xml;
xml = Serveur.CreateObject(Microsoft.XMLHTTP);
xml.Open(GET, chaîne de requête, false);
xml.setRequestHeader( User-Agent, Mozilla/4.0 (compatible ; GoogleToolbar 2.0.114-big ; Windows XP 5.1) );
xml.send();
retourner xml.responseText ;
}
fonction getPageRank(temp){
var foo = temp.match(/Rank_.*?:.*?:(/d+)/i);
var pr = (foo) ? foo[1] : ;
retour pr;
}
fonction getDirectory(temp){
var foo = temp.match(/FVN_.*?:.*?:(?:Top//)?([^/s]+)/i);
var chat = (foo) ? foo[1] : ;
if(cat!=)cat=http://directory.google.com/Top/+cat
rendre le chat ;
}
//Provenant d'Internet, www.vevb.com
site var;
site=www.baidu.com; //Entrez le nom du site
si (site ! = non défini) {
var google=getGoogleHostInfo(site);
var pagerank=getPageRank(google);
var répertoire=getDirectory(google);
Réponse.Write(PageRank:+pagerank+<br>);
Response.Write(PageRank:<img src=/images/pr+pagerank+.png/ />Response.Write(Site:+site+<br>);
if(directory!=)Response.Write(Site:<a href=+directory+>+directory+</a><br>);
}
%>
Enregistrez simplement le code ci-dessus sous pr.asp et exécutez-le. Si vous souhaitez transmettre des paramètres, vous pouvez.
site=www.baidu.com; //Entrez le nom du site
Remplacer par
site=Request.QueryString(url); //Entrez le nom du site