PageRank

穩萊

<%@LANGUAGE=JAVASCRIPT codepage=65001 EnableSessionState=False%>
<SCRIPT RUNAT=SERVER LANGUAGE=JAVASCRIPT>
var obUrl = Request("referer");
var pr = getPR();
function hexdec(str)
{
    return parseInt(str,16);
}
function zeroFill(a,b)
{
    var z = hexdec(80000000);
    if (z & a)
    {
        a = a>>1;
        a &= ~z;
        a |= 0x40000000;
        a = a>>(b-1);
    }
    else
    {
        a = a >> b;
    }
    return (a);
}

function mix(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));
    return ret;
}

 

function GoogleCH(url,length)
{
    var init = 0xE6359A60;
    if (arguments.length == 1)
     length = url.length;  
    var a = 0x9E3779B9;
    var b = 0x9E3779B9;
    var c = 0xE6359A60;
    var k = 0;
    var len = length;
    var mixo = new Array();
    while(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 = mix(a,b,c);
        a = mixo[0]; b = mixo[1]; c = mixo[2];
        k += 12;
        len -= 12;
    }
    c += length;
    switch(len)
    {
        case 11:
        c += url[k+10]<<24;
        case 10:
        c+=url[k+9]<<16;
        case 9 :
        c+=url[k+8]<<8;
        case 8 :
        b+=(url[k+7]<<24);
        case 7 :
        b+=(url[k+6]<<16);
        case 6 :
        b+=(url[k+5]<<8);
        case 5 :
        b+=(url[k+4]);
        case 4 :
        a+=(url[k+3]<<24);
        case 3 :
        a+=(url[k+2]<<16);
        case 2 :
        a+=(url[k+1]<<8);
        case 1 :
        a+=(url[k+0]);
    }
    mixo = mix(a,b,c);
    if (mixo[2] < 0)
    return (0x100000000 + mixo[2]);
    else
    return mixo[2];
}

function myfmod(x,y)
{
 var i = Math.floor(x/y);
        return (x - i*y);
}
function c32to8bit(arr32)
{
    var arr8 = new Array();
    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);
        }
    }
    return arr8;
}
function GoogleNewCh(ch)
{
 ch = (((ch/7) << 2) | ((myfmod(ch,13))&7));
 prbuf = new Array();
 prbuf[0] = ch;
 for(i = 1; i < 20; i++) {
       prbuf[i] = prbuf[i-1]-9;
 }
 ch = GoogleCH(c32to8bit(prbuf), 80);
 return ch;
 
}

function URLencode(sStr)
{
 return encodeURIComponent(sStr).replace(/\+/g,"%2B").replace(/\//g,"%2F");
}

function strord(s)
{
    var re = new Array();
    for(i=0;i<s.length;i++)
    {
        re[i] = s.charCodeAt(i);
    }
    return re;
}

function getGoogleHostInfo(url){
 
    var reqgr = "info:" + url;
    var reqgre = "info:" + URLencode(url);
 
 
    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;


 var objXMLHTTP, xml;
 try{
  xml = Server.createObject("MSXML2.ServerXMLHTTP");
  xml.setTimeouts(5000,5000,5000,5000);
   xml.open("GET", querystring, false);
   xml.setRequestHeader( "User-Agent", "Mozilla/4.0 (compatible; GoogleToolbar 2.0.114-big; WindowsXP 5.1)" );
   xml.send();


   return xml.responseText;
 }catch(exception){
  return("Rank_0:0:0");
 }
}

function getPageRank(temp){

  var foo = temp.match(/Rank_.*?:.*?:(\d+)/i);
  var pr = (foo) ? foo[1] : '0';
  return pr;
}


function getPR() {
  var google;
  var pagerank;
  if(obUrl != ""){
   google = getGoogleHostInfo(obUrl);
   pagerank = getPageRank(google);
  }else{
   pagerank = 0;
  }
  return pagerank;
}
Response.write("pr="+pr);
</SCRIPT>

 給當前日誌評分:
Loading Vote
正在讀取評分資料...


文章來自: Tank部落格
引用通告: 查看所有引用 | 我要引用此文章
Tags: PageRank
相關日誌:

評論: 0 | 引用: 0 | 查看次數: -
發表評論
暱 稱:
密 碼: 遊客發言不需要密碼.
內 容:
驗證碼: 驗證碼
選 項:
雖然發表評論不用註冊,但是為了保護您的發言權,建議您註冊帳號.