لقد قمت بجمع وفرز التعليمات البرمجية للاستعلام عن قيمة العلاقات العامة في asp من الإنترنت، وقمت بالتجربة واستخدمت asp بنجاح للاستعلام عن قيمة العلاقات العامة، وتم اجتياز الاختبار. انسخ رمز الكود كما يلي:
<%@LANGUAGE=JavaSCRIPT%>
<title>برنامج asp للاستعلام عن قيمة العلاقات العامة في Google</title>
<%
الدالة السداسية (str)
{
إرجاع parseInt(str,16);
}
الدالة صفرFill(أ،ب)
{
var z = hexdec(80000000);
إذا (ض & أ)
{
أ = أ>>1;
أ &= ~ض;
أ |= 0x40000000;
أ = أ>>(ب-1);
}
آخر
{
أ = أ >> ب؛
}
العودة (أ)؛
}
مزيج الوظائف (أ، ب، ج)
{
أ -= ب أ -= ج أ ^= (zeroFill(c,13));
ب -= ج ب -= أ؛
c -= a; c -= b c ^= (zeroFill(b,13));
أ -= ب أ -= ج أ ^= (zeroFill(c,12));
ب -= ج؛ ب -= أ؛
c -= a; c -= b c ^= (zeroFill(b,5));
أ -= ب أ -= ج أ ^= (zeroFill(c,3));
ب -= ج ب -= أ؛ ب ^= (أ<<10);
c -= a; c -= b c ^= (zeroFill(b,15));
var ret = new Array((a),(b),(c));
عودة متقاعد؛
}
وظيفة GoogleCH (عنوان URL، الطول)
{
فار init = 0xE6359A60;
إذا (الحجج. الطول == 1)
length = url. length;
فار أ = 0x9E3779B9;
فار ب = 0x9E3779B9;
فار ج = 0xE6359A60;
فار ك = 0;
فار لين = الطول؛
var mixo = new Array();
بينما (لين >= 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 = mix(a,b,c);
a = mixo[0]; b = mixo[1];
ك += 12;
لين -= 12؛
}
ج += الطول؛
التبديل (لين)
{
الحالة 11:
c += url[k+10]<<24;
الحالة 10:
c+=url[k+9]<<16;
الحالة 9:
c+=url[k+8]<<8;
الحالة 8:
b+=(url[k+7]<<24);
الحالة 7:
b+=(url[k+6]<<16);
الحالة 6:
b+=(url[k+5]<<8);
الحالة 5:
b+=(url[k+4]);
الحالة 4:
a+=(url[k+3]<<24);
الحالة 3:
a+=(url[k+2]<<16);
الحالة 2:
a+=(url[k+1]<<8);
الحالة 1:
a+=(url[k+0]);
}
mixo = mix(a,b,c);
إذا (ميكسو [2] <0)
العودة (0x100000000 + ميكسو [2])؛
آخر
عودة المزيج[2]؛
}
دالة (ق)
{
var re = new Array();
ل(i=0;i<s.length;i++)
{
re[i] = s.charCodeAt(i);
}
العودة إعادة؛
}
// مصدر من الإنترنت، www.vevb.com
الدالة c32to8bit(arr32)
{
var arr8 = new Array();
ل(i=0;i<arr32.length;i++)
{
لـ (bitOrder=i*4;bitOrder<=i*4+3;bitOrder++)
{
arr8[bitOrder]=arr32[i]&255;
arr32[i]=zeroFill(arr32[i], 8);
}
}
العودة آر8؛
}
الدالة myfmod(x,y)
{
فار i = Math.floor(x/y);
العودة (س - ط*ص)؛
}
// من الإنترنت، www.pqshow .com
الدالة GoogleNewCh(ch)
{
ch = (((ch/7) << 2) | ((myfmod(ch,13))&7));
prbuf = new Array();
prbuf[0] = ch;
ل(i = 1; i < 20; i++) {
prbuf[i] = prbuf[i-1]-9;
}
ch = GoogleCH(c32to8bit(prbuf), 80);
عودة الفصل؛
}
وظيفة URLencode(sStr)
{
إرجاع encodeURIComponent(sStr).replace(//+/g,%2B).replace(////g,%2F);
}
وظيفة getGoogleHostInfo(url){
فار reqgr = معلومات: + url;
var reqgre = info: + URLencode(url);
//Response.Write(reqgr+<br>+reqgre); من الإنترنت، 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); من الإنترنت، www.vevb.com
فار objXMLHTTP, xml;
xml = Server.CreateObject(Microsoft.XMLHTTP);
xml.Open(GET, querystring, false);
xml.setRequestHeader(User-Agent, Mozilla/4.0 (compatible; GoogleToolbar 2.0.114-big; Windows XP 5.1) );
xml.send();
إرجاع xml.responseText;
}
وظيفة getPageRank(درجة الحرارة){
var foo = temp.match(/Rank_.*?:.*?:(/d+)/i);
فار pr = (foo) ?
عودة العلاقات العامة؛
}
وظيفة الحصول على الدليل (درجة الحرارة) {
var foo = temp.match(/FVN_.*?:.*?:(?:Top//)?([^/s]+)/i);
فار كات = (فو) ?
إذا(cat!=)cat=http://directory.google.com/Top/+cat
عودة القط؛
}
// مصدر من الإنترنت، www.vevb.com
موقع فار؛
site=www.baidu.com; // أدخل اسم الموقع
إذا(الموقع!=غير محدد){
var google=getGoogleHostInfo(site);
فار pagerank=getPageRank(google);
فار الدليل=getDirectory(google);
Response.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>);
}
%>
فقط قم بحفظ الكود أعلاه كـ pr.asp وقم بتشغيله إذا كنت تريد تمرير المعلمات، يمكنك ذلك
site=www.baidu.com; // أدخل اسم الموقع
استبدل ب
site=Request.QueryString(url); // أدخل اسم الموقع