说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

ASP.NET(C#)获取Google PR值

HTML文档下载 WORD文档下载 PDF文档下载
许多网站都提供了查询Google PR值(PageRank)的功能,其实这些功能很好实现,但网上流传的ASP.NET版本对于校验码的计算存在错误致使无法正确运行,编者根据运行正确的PHP版本改编为C#版本,供大家编程时参考。
许多网站都提供了查询Google PR值(PageRank)的功能,其实这些功能依托.NET强大的能力,实现起来也是毫不费力,网上流传的ASP.NET(C#)代码对于校验码计算错误,无法得到正确的校验码,我根据正确的PHP代码改编为C#版本,代码如下:
using System;using System.Collections.Generic;using System.Text;using System.Web;using System.Net;using System.IO;// 本代码是由"好饱"根据PHP版本改编,详情见我的专栏 http://www.okbase.net/home/haobaonamespace BLL{    public class Net    {        public static string GetHtml(string url)        {            string html = "";            WebClient wc = new WebClient();            try { html = wc.DownloadString(url); }            catch { }            return html;        }    }    public class GooglePR    {        public static Int64 StrToNum(string Str, Int64 Check, Int64 Magic)        {            Int64 Int32Unit = 4294967296;  // 2^32            int length = Str.Length;            char[] StrArray = Str.ToCharArray();            for (int i = 0; i < length; i++)            {                Check *= Magic; 	                                if (Check >= Int32Unit) {                    Check = (Check - Int32Unit * (Int64)(Check / Int32Unit));                    //if the check less than -2^31                    Check = (Check < -2147483648) ? (Check + Int32Unit) : Check;                }                Check += StrArray[i];            }            return Check;        }        //将URL进行哈希编码        public static Int64 HashURL(string String)        {            Int64 Check1 = StrToNum(String, 0x1505, 0x21);            Int64 Check2 = StrToNum(String, 0, 0x1003F);            Check1 >>= 2;            Check1 = ((Check1 >> 4) & 0x3FFFFC0) | (Check1 & 0x3F);            Check1 = ((Check1 >> 4) & 0x3FFC00) | (Check1 & 0x3FF);            Check1 = ((Check1 >> 4) & 0x3C000) | (Check1 & 0x3FFF);            Int64 T1 = ((((Check1 & 0x3C0) << 4) | (Check1 & 0x3C)) << 2) | (Check2 & 0xF0F);            Int64 T2 = ((((Check1 & 0xFFFFC000) << 4) | (Check1 & 0x3C00)) << 0xA) | (Check2 & 0xF0F0000);            return (T1 | T2);        }        //为哈希字符串生成校验码        public static string CheckHash(Int64 Hashnum)        {            int CheckByte = 0;            int Flag = 0;            string HashStr = string.Format("{0:D}", Hashnum);            int length = HashStr.Length;            Char[] HashStrArray = HashStr.ToCharArray();            for (int i = length - 1;  i >= 0;  i --) {                int Re = HashStrArray[i] - '0';                if (1 == (Flag % 2)) {                                  Re += Re;                    Re = (int)(Re / 10) + (Re % 10);                }                CheckByte += Re;                Flag++;	            }            CheckByte %= 10;            if (0 != CheckByte) {                CheckByte = 10 - CheckByte;                if (1 == (Flag % 2) ) {                    if (1 == (CheckByte % 2)) {                        CheckByte += 9;                    }                    CheckByte >>= 1;                }            }            return "7" + CheckByte.ToString() + HashStr.ToString();        }        // 得到ch校验码        public static string GetCH(string url)        {            return CheckHash(HashURL(url));         }        public static string GetPageRank(string strUrl)        {            string ch = GetCH(strUrl);            string sURL = "http://toolbarqueries.google.com/search?client=navclient-auto&ch=" + ch + "&ie=UTF-8&oe=UTF-8&features=Rank&q=info:" + strUrl;            string result = Net.GetHtml(sURL);            if (!String.IsNullOrEmpty(result))            {                result = result.Trim();                if (result.IndexOf(':') > 0)                {                    string[] pr = result.Split(':');                    if (pr.Length == 3)                        return pr[2].ToString();                }            }            return "0";        }    }}

调用格式举例:

 

string pr = GooglePR.GetPageRank("www.okbase.net");

 

VB用API函数改进ListView 控件的显示效果 用VB6.0中文版进行DHTML程序开发 用VB编写标准CGI程序 用VB编写留言板 用VB播放FLASH动画 用VB开发进程管理软件 VB用WinSock设计Chat程序 运用MSChart,生成统计图形-VB资料 向文本框等等控件的系统右键菜单里追加自己定义的菜单-VB资料 在VB中用定时控件实现长定时操作 在Visual Basic中,在GotFocus事件中快速选定文本 在程序中注册和注销 OCX 控件 -VB资料 在运行时维护DBGRID的栏位宽度-VB资料 VB怎样使用VB开发基于Sybase的C/S软件 VB怎样在运行时动态生成多个相同的控件 直接编辑VB中网格控制项的两种方法 自制控件方面的有关知识-VB资料 Unicode vs Ansi -VB资料 VB 中调用 Word 拼写检查 VB4.0安装程序的汉化 VB中对字符串的处理及其扩展 把符串中的一子串替换为另一子串 -VB资料 把数字转成英文字-VB资料 翻转一个字符串-VB资料 混合字符串的长度 -VB资料 将阿拉伯数字转成中文字的程式 -VB资料 将包含有Null结尾的字符串转换为VB字符串 切分字符串-VB资料 清除字符串中指定的字符 -VB资料 VB如何取得计算机的所有字型? VB如何取得中英混合字符串的长度? 哪位大侠知道怎样打印stringgrid?小弟成分感谢,并高分相送 怎样才能从邮件中读出邮件的接收日期? 字符输入老是重复怎么回事 请问谁用C++编写过MP3的程序? 请问各位高手,给小弟介绍几个比较好的计算机图书的网站吧。 Access 2000不识别{ts '2001-06-21 21:14:01.890000'}中的.890000,如何解决? 如何得到webbrower控件下载消息?(比如下载*.zip文件) 难题一条 MTS怎么只能生成*.pak 和*.dll,却不能生成Clients子目录及在客户端安装的*.exe COM组件安装! PB 的新问题,有性趣请进!!!! 新手,键值问题 这样的问题没人会????? 大家帮忙看个程序 ACCESS数据库的小问题。 怎样使自己的问题成为热点问题的绝招! 关于c++builder中scanline的应用 跨数据库查询,请教各位高手! 这样的问题也没人会????????????????? 如何使用QuickRep制作简单报表?不牵涉任何DataSet的 关于Transaction的问题 请问 ListCtrl Item里的 Checkbox 被点击时对应的消息是什么? 100分~~100分~~高分求购。。。我也‘倾家荡产求购优秀系统分析案例’(paste from yyzh)。。。100分~~ 全中文的用Rose做的实际项目的UML模型! 救命!!我的机器不能下载东西了,怎么回事?? 求教邮件编程问题,邮件客户端如何实现“在服务器端保留备份的功能“? ciscoworks 各位大哥大虾,VC下如何用ADO连SQL SERVER?(急) ShellExecute和CreateProcess有什么区别? 关于海量数据、最有效率的排序、硬盘缓冲与映射、专业数据库的讨论 如何用VB编启动是可以带参数的程序呢?(例如:我自定义了一种文件,双击用我的程序打开,程序自动会打开这个文档 昨天我过生日,今天分蛋糕给大家 请问哪有《java图形设计2Swing篇》可以下? 我要用一个数据库去实时访问另一个据库,我该怎么办 URLghj1976@csdn.net----别吓我,有请您老人家! 谁给我介绍一下sql server7.0教材的比较好的下载网站,我给他20分。 我都急死了,到搜索引擎里搜到的好几个站点都不能用,到底哪儿可以当到3DMAX? 谁有写的比较好的邮件收发程序? 一个微软证书的私钥问题 微软证书的私钥问题 求助,简单问题 男人最快乐的十个瞬间! solaris下装oracle8.1.6遇到jre环境问题 怎抹加分?我准备给别人加40分,可我最多只能加20,请问另外20分怎末加分,为此我可能已得罪了一些人了。 请教下载的问题 如何在运行时动态修改Quick Report的打印机设置? 怎样做一个接受拽拖的LISTBOS(例如,把资源管理器里的文件拖到上面,就自动增加一项 ,就是拖的文件名) 怎样才能隐藏在ctrl+atl+del中进程列表中的项目啊 用C写DLL 请问:airhorse(编程至尊宝),infopower3000的注册码可以用于商业目的吗? 结构化异常处理 括号x减去y的平方等于9括号x减去y的平方等于5求x的平方加y的平方与xy的值 (2-根号3)的2013次方乘(2+根号3)的2014次方是多少?这种题怎么算? 试求代数式2x的平方+x-3的最小值,并求出当x取何值时,该代数式取到最小值, 已知x的绝对值等于3括号y加1的平方等于4且xy小于0求x加y的值 (7-5根号2)的2013次方乘(-7-5根号2)的2014次方 利用配方发求:当X取何事,代数式2X^2-4X+6有最小值,是多少?代数式有最大值吗?为什么? x的一元二次方程x的平方-4x+m-1=0有两个相等的实数根,求m的值 (根号3+根号2)的2013次方×(根号3-根号2)的2014次方 代数式2X的平方-4X+1的最小值为多少 已知关于x的一元二次方程x2-4x+m-1等于0有两个相等实数根,求m的值及方程的根 (2倍根号2-3)的2013次方×(2倍根号2+3)的2014次方 说明代数式2x的平方-4x-1总大于x的平方-2x-4. 已知关于x的一元二次方程x平方-4x+m-1=0有两个相等实数根,求m的值及方程的根. |根号3-2|+2013的零方-(-三分之一)的负一次方 +3tan30°带上过程! 代数式根号下(X^2+4)+根号下[(12-X)^2+9]的最小值. 12开根号3次方等于多少? 简化√x^4+x^2y^2(x≤0)也就是根号x的四次方+x的二次方*y的二次方,且x小于等于0 代数式根号(x平方+4)+根号[(12-x)平方+9]的最小值为多少?这个题目是刚开学初三的老师布置的~ 2根号3×1.5开三次方×12开六次方=? 根号a的三次方等于多少?根号2y分之x三次方等于多少?(y<0) 代数式根号下【(x-1)平方+1】+根号下【(x-2)平方+9】的最小值 化简:log(2根号3)(144乘根号12开4次方) 已知根号(2x-y)的平方=1,立方根(x-2y)的三次方= 1根据算数平方根的意义,由根号(2x-y)2=1,得(2x-y)2=1,得2x-y=1 ①根据立方根的定义,立方根(x-2y)³= -1,得x-2y= 1 ② 由①+②,得3x+3y=2,解得x-y=2/3以 给出代数式根号下[(X+1)的平方+1]+根号下[(x-3)的平方+4]的几何意义,并求它的最小值 比较根号5开5次方 根号3开3次方 根号2的大小 已知根号(2x-y)的平方=1,立方根(x-2y)的三次方= 1 求x-y的值根据算数平方根的意义,由根号(2x-y)2=1,得(2x-y)2=1,得2x-y=1 ①根据立方根的定义,立方根(x-2y)³= -1,得x-2y= 1 ② 由①+②,得3x+ 代数式根号x+根号(x-1)+根号(x-2)的最小值是 3分之1(1-根号81)+根号2次方-1 代数式根号x2+4+根号(12-x)2+9的最小值清楚一点 求证:代数式根号X+根号X—1+根号X—2 的最小值为根号2+1? 已知a>0且a≠1,设f(x)=a的x次方除以(a的x次方+根号a),求f(1/10)+f(2/10)+…+f(9/10)的值.作业本上的= = 还有一题是 (1+2的﹣1/6)(1+2的﹣1/4)(1+2的﹣1/2)=?解题步骤最好清晰一点,太乱了看不清 = = 当X取正实数时,求代数式(根号下X^+4)+(根号下(X-12)^+9)的最小值 若x,y都是实数,且满足y>根号(1/2-x)+根号(x-1/2)+1,化简代数式1-x分之根号(x-1)的平方-(y-1)分之根号y平方-2+1. 设函数f(x)=a的(x-1/2)次方,且f(lga)=根号10,求a的值 求代数式(根号下X^2+1)+(根号下(4-X)^2+4)的最小值 若实数X,Y满足Y=根号下2X-1+(根号下1-2X)加三分之一求代数式X平方-2XY+Y平方 (1+根号2)的2012次方乘(1-根号2)的2013次方 代数式√(x^2+4)+√(x^2-24x+153)的最小值 √=根号RT听老师说要数形结合,具体怎么做忘记了 另外百度知道也有人提这个问题 但是答案是错的,我记得答案是个整数的 所以没必要复制了 已知实数x、y满足|2x-y+1|+3根号3x-2y+4=0,求代数式[(x-y)/(x-2y)]/(x的平方-2y)/[(x的平方-y的平方)/x的已知实数x、y满足|2x-y+1|+3根号3x-2y+4=0,求代数式[(x-y)/(x-2y)]/(x的平方-2y)/[(x的平方-y的平方)/(x的 (根号3-根号2)的2012次方*(根号3+根号2)的2013次方 代数式根号2x-1分之x有意义的x取值范围是 若实数x,y满足y=根号2x-1+根号1-2x+1/3,求代数式x^2-2xy+y^2的值回答的能否详细些 (2+根号3)2013次方与(2-根号3)2012次方乘积的结果是 使代数式根号2x-1分之1有意义.则x的取值范围? 已知实数x满足根号x^2-2x-8+|x^2-5x+4|=0,求代数式根号x/1-x*根号x^2-1的值 根号2-根号3的2012次方乘根号2加根号3的2013次方 使代数式根号2x-1/(3-x)有意义的x的取值范围是 二次根式:当x=根号5-1时,求代数式x^2+5x-6的值.当x=根号5-1时,求代数式x^2+5x-6的值. 若y=根号x-1+根号1-x,则x的2013次方+y的2012次方=? 代数式2x²-4x+6有最小值当x取何值,2x²-4x+6最小值是多少顺片教我一下怎么求 已知x=1/(2-根号3).求代数式根号(x的平方-8x+16)/(x的平方-5x+4)的值 若a-b的绝对值加b加1的平方=0 则2a的2007的次方减3b的2008的次方的值为多少 若根号x+1+(y-2013)的根号=0则x的y次方=? 试说明代数式-2x平方+4x-18有最小值,并求出这个最大值,此时x为多少? 若a-1的绝对值与(b+2)的平方互为相反数,求:(a+b)的2008次方+a的2007次方的值 若根号x+1+(y-2013)的根号=0则x的y次方=多少 当X取何值时,代数式2X平方减4X加6有最小值.为什么, 已知xy为相反数,且括号x加二的平方减括号y加二的平方等于四,求xy的 (根号3-2)的2013次方·(根号3+2)的2014次方(根号3-2)的2013次方·(根号3+2)的2014次方 当X取何值时,代数式X的平方+2X+3取最小值,并求出最小值
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn