인터넷에서 asp의 pr 값을 쿼리하는 코드를 수집하고 정리했습니다. 실험을 통해 pr 값을 쿼리하기 위해 asp를 성공적으로 사용했고 테스트에 성공했습니다. 다음과 같이 코드 코드를 복사합니다.
<%@LANGUAGE=JAVASCRIPT%>
<title>Google PR 가치 쿼리 ASP 프로그램</title>
<%
함수 hexdec(str)
{
return parInt(str,16);
}
함수 zeroFill(a,b)
{
var z = hexdec(80000000);
만약 (z & a)
{
a = a>>1;
a &= ~z;
|= 0x40000000;
a = a>>(b-1);
}
또 다른
{
a = a >> b;
}
반환(a);
}
함수 혼합(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));
var ret = new Array((a),(b),(c));
반환 ret;
}
함수 GoogleCH(url,length)
{
var 초기화 = 0xE6359A60;
if (인수. 길이 == 1)
길이 = url.length;
var a = 0x9E3779B9;
var b = 0x9E3779B9;
var c = 0xE6359A60;
var k = 0;
var len = 길이;
var mixo = 새로운 배열();
동안(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 = 믹스(a,b,c);
a = 믹스소[0]; b = 믹스소[1]; c = 믹스소[2];
k += 12;
렌 -= 12;
}
c += 길이;
스위치(len)
{
사례 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 = 믹스(a,b,c);
if (mixo[2] < 0)
return (0x100000000 + mixo[2]);
또 다른
return mixo[2];
}
함수 스트롬
{
var re = 새로운 배열();
for(i=0;i<s.length;i++)
{
re[i] = s.charCodeAt(i);
}
다시 돌아오다;
}
//인터넷 출처, www.vevb.com
함수 c32to8bit(arr32)
{
var arr8 = 새로운 배열();
for(i=0;i<arr32.length;i++)
{
for (bitOrder=i*4;bitOrder<=i*4+3;bitOrder++)
{
arr8[bitOrder]=arr32[i]&255;
arr32[i]=zeroFill(arr32[i], 8);
}
}
arr8을 반환;
}
함수 myfmod(x,y)
{
var i = Math.floor(x/y);
반환(x - i*y);
}
//인터넷에서 www.pqshow.com
함수 GoogleNewCh(ch)
{
ch = (((ch/7) << 2) | ((myfmod(ch,13))&7));
prbuf = 새로운 배열();
prbuf[0] = 채널;
for(i = 1; i < 20; i++) {
prbuf[i] = prbuf[i-1]-9;
}
ch = GoogleCH(c32to8bit(prbuf), 80);
채널을 반환;
}
함수 URLencode(sStr)
{
return encodeURIComponent(sStr).replace(//+/g,%2B).replace(////g,%2F);
}
함수 getGoogleHostInfo(url){
var 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
var objXMLHTTP, xml;
xml = Server.CreateObject(Microsoft.XMLHTTP);
xml.Open(GET, 쿼리스트링, false);
xml.setRequestHeader( User-Agent, Mozilla/4.0 (호환; GoogleToolbar 2.0.114-big; Windows XP 5.1) );
xml.send();
xml.responseText를 반환합니다.
}
함수 getPageRank(임시){
var foo = temp.match(/Rank_.*?:.*?:(/d+)/i);
var pr = (foo) ? foo[1] : ;
홍보를 반환;
}
함수 getDirectory(임시){
var foo = temp.match(/FVN_.*?:.*?:(?:Top//)?([^/s]+)/i);
var 고양이 = (foo) ? foo[1] : ;
if(cat!=)cat=http://directory.google.com/Top/+cat
고양이를 돌려보내다;
}
//인터넷 출처, www.vevb.com
var 사이트;
site=www.baidu.com; //사이트 이름을 입력하세요.
if(사이트!=정의되지 않음){
var google=getGoogleHostInfo(사이트);
var pagerank=getPageRank(google);
var 디렉토리=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(사이트:<a href=+directory+>+directory+</a><br>);
}
%>
위의 코드를 pr.asp로 저장하고 실행하면 됩니다.
site=www.baidu.com; //사이트 이름을 입력하세요.
다음으로 교체
site=Request.QueryString(url); //사이트 이름을 입력하세요.