Saya mengumpulkan dan memilah kode untuk menanyakan nilai pr di asp dari Internet. Saya bereksperimen dan berhasil menggunakan asp untuk menanyakan nilai pr, dan pengujiannya berhasil. Copy kode kodenya sebagai berikut:
<%@LANGUAGE=JAVASCRIPT%>
<title>Program asp kueri nilai PR Google</title>
<%
fungsi hexdec(str)
{
kembalikan parseInt(str,16);
}
fungsi isi nol(a,b)
{
var z = hexdes(80000000);
jika (z & a)
{
a = a>>1;
sebuah &= ~z;
sebuah |= 0x40000000;
a = a>>(b-1);
}
kalau tidak
{
a = a >> b;
}
kembali(a);
}
campuran fungsi(a,b,c)
{
a -= b; a -= c; a ^= (Isi Nol(c,13));
b -= c; b -= a; b ^= (sebuah<<8);
c -= a; c -= b; c ^= (Isi Nol(b,13));
a -= b; a -= c; a ^= (Isi Nol(c,12));
b -= c; b -= a; b ^= (sebuah<<16);
c -= a; c -= b; c ^= (Isi Nol(b,5));
a -= b; a -= c;
b -= c; b -= a; b ^= (sebuah<<10);
c -= a; c -= b; c ^= (Isi Nol(b,15));
var ret = Array baru((a),(b),(c));
kembali mundur;
}
fungsi GoogleCH(url,panjang)
{
var init = 0xE6359A60;
if (argumen.panjang == 1)
panjang = url.panjang;
var a = 0x9E3779B9;
var b = 0x9E3779B9;
var c = 0xE6359A60;
var k = 0;
var len = panjang;
var mixo = Array baru();
sementara(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));
campuran = campuran(a,b,c);
a = campuran[0]; b = campuran[1]; c = campuran[2];
k += 12;
len -= 12;
}
c += panjang;
beralih (len)
{
kasus 11:
c += url[k+10]<<24;
kasus 10:
c+=url[k+9]<<16;
kasus 9:
c+=url[k+8]<<8;
kasus 8:
b+=(url[k+7]<<24);
kasus 7:
b+=(url[k+6]<<16);
kasus 6:
b+=(url[k+5]<<8);
kasus 5:
b+=(url[k+4]);
kasus 4:
a+=(url[k+3]<<24);
kasus 3:
a+=(url[k+2]<<16);
kasus 2:
a+=(url[k+1]<<8);
kasus 1:
a+=(url[k+0]);
}
campuran = campuran(a,b,c);
jika (campuran[2] < 0)
kembali (0x100000000 + campuran[2]);
kalau tidak
kembalikan campuran [2];
}
fungsi strom
{
var re = Array baru();
untuk(i=0;i<s.panjang;i++)
{
re[i] = s.charCodeAt(i);
}
kembali kembali;
}
//Bersumber dari Internet, www.vevb.com
fungsi c32to8bit(arr32)
{
var arr8 = Array baru();
untuk(i=0;i<arr32.panjang;i++)
{
untuk (bitOrder=i*4;bitOrder<=i*4+3;bitOrder++)
{
arr8[bitOrder]=arr32[i]&255;
arr32[i]=Isi Nol(arr32[i], 8);
}
}
kembali arr8;
}
fungsi myfmod(x,y)
{
var i = Matematika.lantai(x/y);
kembali (x - i*y);
}
//Dari Internet, www.pqshow.com
fungsi GoogleBaruCh(ch)
{
ch = (((ch/7) << 2) | ((myfmod(ch,13))&7));
prbuf = Array baru();
prbuf[0] = ch;
untuk(saya = 1; saya < 20; saya++) {
prbuf[i] = prbuf[i-1]-9;
}
ch = GoogleCH(c32to8bit(prbuf), 80);
kembali ch;
}
fungsi URLencode(sStr)
{
return encodeURIComponent(sStr).replace(//+/g,%2B).replace(////g,%2F);
}
fungsi getGoogleHostInfo(url){
var reqgr = info: + url;
var reqgre = info: + URLencode(url);
//Response.Write(reqgr+<br>+reqgre);
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;
//Respon.Write(querystring); Dari Internet, www.vevb.com
var objXMLHTTP, xml;
xml = Server.CreateObject(Microsoft.XMLHTTP);
xml.Terbuka(DAPATKAN, string kueri, salah);
xml.setRequestHeader( Agen-Pengguna, Mozilla/4.0 (kompatibel; GoogleToolbar 2.0.114-besar; Windows XP 5.1) );
xml.kirim();
kembali xml.responseText;
}
fungsi getPageRank(temp){
var foo = temp.match(/Rank_.*?:.*?:(/d+)/i);
var pr = (foo) ?
kembali pr;
}
fungsi getDirectory(temp){
var foo = temp.match(/FVN_.*?:.*?:(?:Top//)?([^/s]+)/i);
var kucing = (foo) ?
if(cat!=)cat=http://directory.google.com/Top/+cat
kembalinya kucing;
}
//Bersumber dari Internet, www.vevb.com
situs var;
site=www.baidu.com; //Masukkan nama situs
if(situs!=tidak terdefinisi){
var google=getGoogleHostInfo(situs);
var pagerank=getPageRank(google);
var direktori=getDirectory(google);
Respon.Write(PageRank:+pagerank+<br>);
Response.Write(PageRank:<img src=/images/pr+pagerank+.png/ />Response.Write(Situs:+situs+<br>);
if(directory!=)Response.Write(Situs:<a href=+directory+>+directory+</a><br>);
}
%>
Simpan saja kode di atas sebagai pr.asp dan jalankan jika Anda ingin meneruskan parameter, Anda bisa
site=www.baidu.com; //Masukkan nama situs
Ganti dengan
site=Request.QueryString(url); //Masukkan nama situs