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

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

 

【CTO讲堂】Box首位华人核心工程师的回国创业之路 【探秘ES6】系列专栏:ES6简介 专访《Javascript设计模式与开发实践》作者曾探:爱编程 爱生活 【探秘ES6】系列专栏:迭代器和for-of循环 【CTO讲堂】UCloud联合创始人兼CTO莫显峰:如何成长为技术合伙人? 【探秘ES6】系列专栏:生成器 iKair转型传感器及SaaS厂商,发布Maxense平台与9款“云传感器” 免费jQuery幻灯片图片轮播插件Galleriffic的使用方法 专访IBM中国研究院院长沈晓卫博士:全新的物联网来了 《近匠》GYENNO CEO任康:用“勺子”敲开一片新市场 Horde3D——基于C++编写的3D渲染引擎 Maker Faire 2015在深圳正式开幕,关注创客生态系统 Arduino与Seeed Studio达成战略合作——专访Arduino联合创始人Massimo Banzi 免费开源的Bootstrap富文本编辑器bootstrap-wysiwyg使用方法 CCAI2015:首届中国人工智能大会将于7月26-27日在京举行 拥抱互联网+ 用友NC6助力集团企业蜕变数据驱动型公司 《近匠》融云,自主研发真正“不丢消息”的IM云服务 【CTO讲堂】听云CTO Wood:APM实现原理及对IT和产品运营的价值 从7个维度浅析虚拟现实Alpha年 Maker Faire上的微软:将技术与工具带给Maker才是关键 友盟2015年Q1移动互联网报告:车联网App崛起 多面编程语言Scala NEC高可用集群软件EXPRESSCLUSTER X3.3面向中国市场正式发布 【探秘ES6】系列专栏:模版字符串 专访图书作者祁宇:C++11让程序更简洁、更现代、更强大 滴滴打车CTO张博:生死战役,技术和时间赛跑 Qualcomm拥抱创客文化:如何基于DragonBoard 410c创造和创业? 【探秘ES6】系列专栏:剩余参数和默认参数 专访资深程序员庄晓立:我为什么要选择Rust? 主会讲师确认,2015中国人工智能大会火热报名中 容联&#183;云通讯线下沙龙:IM 5.0助力App社交化 怎么保存到数据库中?急急急! 电脑出问题了。 tomcat4.01+apache2.046组合问题:单个的都能运行,...可以加分.. %u的问题 如何调整对话框上工具栏的状态 关于query控件的一个问题 如何结束一个线程? FastReport怎么将没有记录的地方也画上格子??? 我的oracle9装上去之后怎么有7。2G那么大??并且还连不上MANAGEMENT SERVER只能独立启动??请指教!! Fastreport与quickreport那个更好用? 进者有分. 强烈要求铲除全国所有的收容所!!! 要用什么软件才能将CMOS参数备份到某个文件夹中? 请问怎么在建表代码里定义关键字? 请问把数据写入ListView控件内,有什么办法可以快点? win2k server dns 求助! 我在易趣上竞的一个数码相机,只要250元,但是只能拍26张相。我不知道是真是假? 一个搞不定的恶意网站 cout与printf的问题 没有路由怎样用一台服务器实现300台左右的电脑上网? ResultSet里读出数据的参数问题,马上给分 netvt(唯她 v1.1.1),进来拿你应得的分 如果我的程序中用了VFP,但是用户可能并没有装VFP,有什么好的办法直接替用户解决了这个问题,而不是提醒他自己去装 怎么保存到数据库中?急急急! 我用treeview显示数据库的数据,增加一条新记录后,要怎么样才能马上在treeview显示? 无法传值问题,高手急救!!!!!!!!! 在线等待:怎么为datagrid控件的某一格赋值? 请教如何在input上传筐里面限制文件类型? java的图形设计比如swing有前途吗?大家来讨论下,迷惑中。。。 计算机静电问题!! 错误在那里 请教批量update出错问题 请问串口方面的? QQ使用MFC42.DLL, 数据库的记录有文本、有图片、我想给它排成word样式的A4版预览、再打印如何实现 请问,如何在Form中画图啊??/ 水晶报表问题。急呀!! 一个奇怪的问题 TreeNode控件有折叠下一级节点这个命令吗? 大家好,请帮忙提供在C#中做帮助文件的好的方法或网站吗?谢谢了 QQ发送信息老是附加一个网址,有什么办法搞定它? 操作系统挂了,重装后如何恢复ORACLE DATA? 初学不懂:调用ActiveXObject("Microsoft.XMLHTTP") 时用的什么命名空间? 创建临时表 有关页面显示的问题,进来吧,高手们! 为什么我在VC调试一个程序提示出错后,在调整一个正确的程序也提示有错误,是怎么回事,是要在VC里设置什么吗 EJB Transaction problem? 内存不可读错误,是GobalAlloc分配内存失败么? 请教高手,如何在ASP的新闻发布管理系统中实现表格和图片随意的插入到新闻文本中。 请教:有谁用过 XMLHTTP 或者 HttpWebRequest ? 小问题,在线等 有谁在Amoy买到《Borland传奇》的? 关于运动的合成与分解,以下说法正确的是( ) A.一个匀加速直线运动可以分解为两个匀加速直线运动 B.一个匀减速直线运动可以分解为方向相反的匀速运动和初速度为零的匀加速直线运动 C 120磅~~~~~~~~~~~~~~~~~120磅等于多少斤呀? 氯化钠的键的强度比氯化镁的键强度大吗?为什么? 诈骗的定义是什么警察不找他他不是会还钱的,在说他和我签的合同,可是房子是他妈妈的. 龟鹤共用100个头,350只脚,龟,鹤各多少只?方程题带解设 已知一个力的大小和方向,把它分解成两个力,下列情况中有唯一解的是? 网络诈骗的含义是什么 小明放一群鸭子,岸上的只数是水中的3/4,从水中上岸15只后,水中的只数与岸上的只数同样多,这群鸭子一共有多少只? 在点O北偏西60°方向上的某处有一点A,在点O南偏西20°方向上的某处有一点B,则∠AOB的度数是?A.100° B.70° C.180° D.140° 十百千,猜四字成语 龟鹤共有100个头.350只脚.龟.鹤各有多少只?为什么不列方程式.假设法有理论支持吗. 若已知一个力的大小和方向则一定可以把它分解为两个大小都和它相等的力吗 尔虞我诈的意思是? 小明放一群鸭子,岸上的只数是水中的四分之三,从水中上岸15只后,水中的只数与岸上的相同,这群鸭子共有几 前苏联试验的超级核弹此类核弹的详细数据、摧毁日本、美国各需多少枚? 韩愈 早春呈水部张十八员外(其二)的赏析是什么? 集合与充要条件的关系为什么A是B的真子集,A就是B的充分条件,B是A的必要条件? 氯化钠 四氯化碳 氯化铝的化学键类型 求几道容易出错的高二物理题要求容易出错 电影“万有引力”片头文章那段是在哪个机场拍的? 氯化铝与次氯化钠的反应的化学及其离子反应式 龟鹤共有100个头,350只脚.龟,鹤各多少只?列方程,要准确解说 龟鹤同笼,共有51个头,172只脚,请问龟、鹤各有多少只?最好用列方程,毕竟我也才5年级 大海中某小岛的周围10km内有暗礁,一艘海轮在该岛的南偏西55°方向的某处.由西向东行驶了20km后达到该岛的南偏西25°方向的另一处.如果该海轮继续向东行驶,会有触礁吗?如果可以最好把图画 哪里出来的? 在2~9中,不管如何放置,镜子中的像都和原来数字一样的是 龟鹤同笼共有51只头,172只脚,请问龟与鹤各有多少只 画横线的题求解答 龟,鹤共有200只眼睛,350只脚.龟,鹤各有多少只?用方程解 龟鹤同笼,共有51之只,172只脚,龟鹤各有多少只 嘿哟哟哟,切克闹,切克闹 在数字3~9中,不管如何放置,镜子中的像都和原来的数字一样的是( ). 龟鹤同笼,共有51只头、172只脚,请问:龟与鹤各有多少只?用方程解答 哟哟,切克闹. C语言解决应用题 龟鹤共有100个头,350只脚.龟、鹤各多少只?C语言解决 龟鹤共有100个头,350只脚.龟、鹤各多少只?怎样用C语言得出答案啊 .····求源码 鸽子多少天出 【高一数学集合部分】“xy>0”的一个充要条件是__________1.“xy>0”的一个充要条件是__________2.集合A={x|-20是x2+y2>0的 ____ 条件6.集合A={x|-2<x≤1},U={x|x≤3},则CuA=_______7.x属于A交B______x属 万有引力是在哪里拍摄的?文章演的那个,知道的告诉下, 风烛残年的含义? 某船从O处出发,沿北偏东60'方向行驶至A,又向正东方向行驶至C,再朝与出发相反的方向行驶至B,求∠ACB的度数快.这是一道关于平行线的性质的题目...可能要用到同位角,内错角,同旁内角的... 万有引力中,文章戴的手表是什么牌子,哪个型号的? 风烛残年 的对应成语是什么 设集合A=(-无穷大,1],集合B(2a+1,4a)(1)若A交B=空集,求a的取值范围(2)若A并B=A,求a的取值范围 《万有引力》里文章机场那段之后就没有了吗? 风烛残年是什么意思 求道高二物理题在光滑绝缘的水平面上有一个不导电的弹簧,弹簧的两端分别与金属小球A,B相连,若A.B带上等量同种电荷,弹簧伸长x1,若让A.B所带电量都曾为原来的2倍,弹簧的伸长量为x2,则x1与x2 同一直线上的两个力作用在同一物体上.关于它们的合力下列说法正确的是( )A.合力一定大于其中的任何一个力B.合力一定等于这两个力的大小之和C.合力可能小于其中的任何一个力D. 风烛残年 意思 鼻子红的长长的背上有黄又有绿的是什么动物 在做“互成角度的两个力的合成”实验时,以下说法中正确的有( ).如题 谢谢了A. 用两只弹簧测力计拉橡皮条时,应使两细绳之间的夹角为90°,以便算出合力的大小 B. 用两只弹簧测力计拉时,结 风烛残年什么意思啊啊啊 一艘船沿正东方向航行,行至A处折向南偏东60°方向航行,行至B处后,若该船仍向正 设A,B为两个集合.且A∪B=B,的充要条件? 为什么说平面向量是正确的?它的导出背景是什么?是牛顿力学吗?可它在相对论中它也不正确啊?普通的数学都是从公理出发,通过严密的逻辑推理导出规律,减乘除的运算法则都是从加法的运 算 蓄意诈骗的定义我公司与一家厂家签订了一批货物!全额付款后对方只发给我公司不到1/3的货,我公司一再催促对方发货!时间转眼过了四个月了还是没见对方发出货物!要求其退款也迟迟未见退 集合A与集合B互不包含但有公共部分(关于充要条件的问题)那么X属于A是X属于B的____条件 ↑←→↓ ↗↘ ↙↖ 这些符号都是怎么打出来的``每个都有什么规律没?能给仔细说一下不?能有一些更快更好的办法没?仔细的说一下```` 关于诈骗的定义本人与人合作项目,给对方发货物.对方承诺货到结款.结果货到了两车只是把运费付清,货款一直没有结.本人出于无奈让对方出具了一份欠条.请问这样构不构成诈骗?我目前应该 龟鹤共有100个头.350只脚.龟.鹤各有多少只?用替换法解 香港邻什么经济特区 冷空气吹开雾霾带来降温 这两天早晨只朝鲜表态强化核力量 美韩揣测朝“核冒国考报名昨天截止 浙江最热门职位33日本媒体爆料杭州绿城主帅冈田武史将离临安破获特大涉毒涉枪案 缴获整枪43温州:成绩将非评价学校教育质量唯一标最高院公开失信者名单 查谁是老赖浙江院士揭露伪大师治病行骗:治疗效果系心商合杭高铁拿到准生证 安吉将结束不通杭州地铁3号线为啥比原先的规划短了十已婚男连续胸袭女同事遭解雇 自称“没国考报名结束平均70人争1个岗位 湖美国情报机构被爆监听35名国际政要电杭州推新能源交通 新能源车:年底再推美油轮在尼日利亚遇袭 两人被海盗劫为美国肯尼迪家族亲戚杀人案将重审 72男子路边停车酿惨剧 车上天窗夹死3岁国考报名昨结束 湖州邮政一个岗位33韩美官员会谈 争取明年上半年确定作战金正恩成马来西亚高校荣誉博士 为表彰法国与德国希望年底前就美国监听与美进联合国最新报告称叙境内大量被困民众处安倍内阁法制局长被批“看门狗” 未能每日三枣枣子抗衰老?4种人吃不得传谢霆锋范冰冰巴黎生情 惧怕张柏芝拒网友微博热议政府工作报告 每秒被\"韩长赋:我国转基因食品实行强制定性标于世平:天津建立检察系统首家检务翻译于世平:让检察工作贴近民生服务经济赵薇戚薇刘诗诗林心如 古装剧霸气惊艳美驻日舰载机活动频繁 或强化训练应对金黔在线今日现场直播 贵州代表团团组地震台官微“求饶”折射民意互动新格局贵州代表团来了……海南万宁兴隆华侨农场侨联文艺队成立 联合国吁向伊拉克安巴尔省民众提供1亿波司登高德康:在电子商务立法中加强知朝拒绝拒韩红十字会工作会提议 韩方表第二次中日韩三国灾害管理桌面演练在东台军争取美关键技术推动自造潜艇 称有欧晋德闪辞高铁董座 “交通部长”叶匡联合国报告:叙两起化武事件所用毒剂或
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘