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

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");

 

Web设计师必须掌握的六大设计策略 Facebook为什么要推Instagram视频分享功能? 天气预报(id后面的9位数字为城市代码)年月日,星期,当前时间(仅用于javascript) PHP 5.5.0发布 不再支持Windows XP和2003 专访ThinkPHP创始人刘晨:用最简单最快速的方式开发PHP应用 重构:仔细查看,改进代码 加速编码的17款最棒的CSS工具 生于微信:专访疯狂猜图CEO曹晓刚 谷歌:受感染的合法网站远比恶意网站危险性大 Mozilla正式发布Firefox 22应用程序开发者受益 支持3D游戏、视频通话和文件分享 直接拿来用!最火的前端开发项目(一) Salesforce.com和Oracle在云合作上达成长期协议 即将到来的数据中心僵尸末日,谁能成为最后的幸存者?! Andorid APK反逆向解决方案:梆梆加固原理探寻 科技拥抱设计:体验设计如何创新? Rails 4.0正式发布 命途多舛的webOS,两度易主,生生死死多少回 Citrix全面开源XenServer 为了三十亿人的网络幸福:Google投资O3b发射网络卫星 Windows 8.1中IE 11开始支持WebGL和SPDY/3 微软Build 2013开发者大会:盘点Windows 8.1的15个重大更新 瞧!这是摩托罗拉移动新Logo,你有什么感觉? 专访UEditor创始人战毅:打造最佳的用户编辑体验 Eclipse 4.3 正式版发布 代号Kepler 为兴趣而生 七大编程挑战项目,你敢来吗? iOS 7辅助功能:左右摇头控制iOS设备 挑战传统关系型数据库:Facebook图形数据库TAO揭秘 揭秘“棱镜计划”幕后的技术 你更新了吗?Visual Studio 2013 Preview和.NET 4.5.1同时发布 你主要使用什么编程语言? 跨平台游戏开发工具App Game Kit或将新增更多强悍功能 MySQL JDBC 驱动程序在哪里下载? mysql for linux 启动问题? 51job的动态简历预览功能暴快,有谁知道采用了什么样的技术? 请教为什么KeyUp事件不响应? 程序有两个线程时,如果子线程是个死循环,永远不停(如监听一个Socket),那当我的主线程return了后,程序会不会退出呢? 我重载了WM_NCPAINT来画窗体边框和标题栏,可是菜单就不见了,如何给画出来? 如何将INTERBASE中的数据导出到EXCEL文件中?! 关于C# 需要server2003企业中文版(激活的)地址! sql查询问题 update 的问题 急!IIS连接不上 装上JDataConnection Server之后,在数据源ODBC中的驱动程序列表中没有JDBC驱动算不算问题,高分求解! 短消息服务提供商(SP)程序问题 activeX控件问题,急盼高手帮助! 请教八数码难题的解法! 如果一个dll,在它里面有一个窗口,而有一个函数是这个窗体类的一个函数,那么如果在使用这个dll文件中的这个函数。 谁能给一个测试是否是EMAIL的函数?急! 如何实现关键字查询? 只能让家里的电视出现更多的台,比如解码器什么的! 急问:那位了解 sys/wait.h ,它的功能是什么? 求MICROSOFT VISUAL STUDIO.NET 2002 中文企业版,2003不要,谢谢~ saucer(思归)在吗?有问题请教! 哪里有C++ Builder 下载的。 TTrayIcon中的图标颜色只能显示16色的吗? HELP!!!XML怎么写成物理文件到本地? 这是为什么呀?电脑高手请进。。。 也说技术人员创业 高分:虚拟主机问题 快被OVERLAY搞死了,急救 中了“盗贼”木马,如何删除? 请网络高手来看看这个问题,给我点提示和建议?急急急 汉字在exe 文件的十六进制 能否 转换得来? 气死人了,在jbuilder8中被logic:iterate搞死了,累,急救 pb数据窗UPDATE的怪问题!很怪!!! 配置问题求救! 请问Access中可以用select case ........when else end的函数吗? 一定要把AutoPostBack设定成true才能响应事件? 但是那样动态生成的控件又都没了…… 急 哪位知道哪有OpenGL高级编程的培训 短消息服务提供商(SP)程序问题 那里能弄到解码器~~~~~~~~~~~~~~~ 马上就要毕业了,请先辈们指点迷津!!! 安装 Duwamish 7.0 和 PetShop 3.0 时的问题? 一个二维数组的问题,请指教 tdbgrid 锁定行,使改行不可编辑 能否实现这样的功能:如果是A登陆,则可以看见一个按钮a;如果不是A登陆,则按钮a不可见。 本人查看过往的薪水调查的贴子,看到大多数人都在贫困线(2K)下,这JSP技术已经没什么钱途了.转向吧! rm格式的文件不能正常播放用什么软件修复呢? 请问用java编好的软件,如何打包发布呀?急~~~ 怎样在对话框里设置背景图片? 帮帮我!我弄了好久拉! 怎么做?o>_ 三角恒等式的一道题,求最小值,急, “郑和下西洋”最早一次远航是在哪一年?他的船队最远到达什么地方? 请求大家帮忙回答病句o∩_∩o有着“世界工厂”美誉的广东省东莞市将以最”开放的姿态向全球寻求科技合作,21个国家和地区的代表云集东莞献计献策,共谋合作之路.”这个句子中的“21个国 帮我解释一下《三国演义》开篇词的意思 匀变速直线运动的加速度大小和方向是恒定不变的吗?请求正确答案...o(∩_∩)o~ 我想烫个自然点的头发,想问大家我这头型适合哪种?我刚申请的,只有这么多财富, 一个带小数,是三位小数,有以下特点A.整数部分比最小的三位数小1;B.十分位上的数字比百分位上的数字大6,且他们的和是10;C.千分位上的数字与个位上的数字相同.这个数是几? 三米六十六是多少毫米 关于“同角三角比关系”的一道题(1)已知(1+sinα)分之cosα = -1/2 ,则(sinα-1)分之cosα =?答案是:2过程? 人为什么觉得心累呢? 杭州到长沙10月底到11月机票最低0浙大一院:人感染H7N9禽流感病毒疫李某某强奸案二审31日开庭 律师称未李某某案31日二审开庭 辩护律师身份违停超过65秒自动抓拍 萧山启用杭首奥巴马参观学校旁听课程 揶揄国会议员伊朗边境发生武装冲突 14名边防人员国防部:日方若击落中国无人机 中方将德国小伙:德国政府可没收空置7年房屋中国记协严厉谴责陈永洲涉嫌虚假报道等伊朗处死16名反政府组织囚犯 回应边干货 | 跟着《泰冏》学泰语,走遍泰阿玛苒姿教你如何攻略持久美妆TIP我叫MT2橙卡英雄大全 橙卡英雄技能国家贫困县争夺战(附文:2014年贫重磅消息!JORDAN品牌30周年庆明清古玩杂件 太多 太美了李光斗:马云洗脑术茶企转型,抓住这些机会,你就绕过了大夏天钓鱼喂窝要六忌“农垦改革”会议或月底召开 三大产业拒绝劣质茶 铁观音口感带有涩味的几个金庸绝学异世横行重生之特工嫡女重生为手机位面无良奸商母巢王虫狼性总裁太凶猛梦想涟漪神级英雄独尊星河御龙剑之帝尊都市炼金术士虎门大桥旅游满家寨旅游河口风景区旅游酒泉卫星发射中心旅游大世界旅游渔湾旅游花果山旅游玉泉旅游雪乡滑雪场旅游凤凰山旅游英雄三岛旅游
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘