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

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

 

Delphi 3 图形VCL中Bug修改方案 Delphi hint的字体和色彩如何改变 Delphi3.0中复活节彩蛋及实现 Delphi数据库应用程序开发中图像数据的存取技巧 DELPHI图形编辑技巧二则 DELPHI显示JPEG图像文件 Delphi中CANVAS使用三例 Delphi中的图形显示技巧 DELPHI中画布应用技巧 Delphi中控件深度投影及阴影效果的实现 DELPHI中利用对象的常用属性制作动画 Form生成时的事件次序-Delphi资料 LED数码管仿真显示程序-Delphi资料 TPaintBox与TImage的比较-Delphi资料 WINDOWS基于调色板的图像消隐-Delphi资料 改变图片效果-Delphi资料 改造HINT的输出方式-Delphi资料 基于Delphi的图像漫游 将BMP放入Paradox的BLOB的字段中-Delphi资料 界面色彩渐变效果的实现-Delphi资料 如何查阅可视窗口标题-Delphi资料 如何得到Timage控件的DC-Delphi资料 如何关闭一个MDI子窗口-Delphi资料 如何检测鼠标击了哪一个对象-Delphi资料 如何将鼠标锁定在固定范围内-Delphi资料 如何使你的窗口Stay on Top-Delphi资料 如何在ListView控件中绘底图-Delphi资料 如何在屏幕上移动Image图象-Delphi资料 软件中复活节彩蛋的实现-Delphi资料 实现图象局部放大的原理和方法-Delphi资料 使用Delphi实现滚动式面板窗口 求超级解霸DVD3的注册码 怎么样显示两层以上的树状目录?(急需,在线等) 如何实现树形结构? 王煜辉大龙难保 在用remoting时多个线程可否使用一个全局数据连接对象[这样做是否合理] 请帮忙解决SQL Server2000的备份问题(使用VB和sqldmo),急急 为什么我的JBuilder7和weblogic7集成后,编译HelloWorld Servlet 时还是使用其自带的TOMCAT? 请大家给小弟讲讲JBuilder7和weblogic7集成 在ACTIVEX中用WINSOCK联接的问题?急!!!! 高手讨论,有谁做过电子邮局,用java做的? kylix3下怎么调试多线程程序? 散点分,顺便求个方法,up有分,三日定结! 用VBA调用EXE文件 Boundscheck 怎么用呀? 在windows98下怎样用windows API 取得中文字符的宽度? 我没装过Linux也不知道这个操作系统怎么装 和有什么不同!希望大家给点意见 我侵权了?? 如果在pb中使用fpt传送文件 有关于WinSocket编程,CB和VC之间应该如何进行接口 请问?将一窗口始终置于其他窗口的最前面,这段代码怎么写?在线等待! 关于控件下载 请大家帮忙看一下,这段调用存储过程的代码有什么错误?在线 [寻人]请红旗下的蛋过来领分喽。说话算话。 jsp后缀名大小写问题(急,在线等!) 100分!急!如何在程序中判断sqlserver服务是否启动? 有什么比较深入的c语言的书? Delphi出现问题,请帮忙解决。 用java编程序,将String数据通过存储过程存入数据库,为什么有的时候cs.setString()好使无常呢? 求助:如何读出mshflexgrid栅格表头项的内容的宽度? 高分!! 问一个引号的问题,望高手们不要见笑 pb中怎样得到某个字符的asc码? 谢谢 ChangeDisplaySettings最低可以把分辨率和颜色设为多少呀? DataGrid+CheckBox的问题(查了很多例子就是解决不了) 再次提问,sql2000的问题? 请问在vbscript中怎样判断一个数,是否能被3整除 MSN Messenger5.0发送文件到MSN Messenger4.6,为什么总是连接不上? sql2000的问题,谁能知道? 100分:誰有thinking in java 2 的中文電子書和例子代碼,給我一份吧? 关于将图形放大缩小的问题. jsp后缀名大小写问题(急,在线等!) sourceforge主站上不去了,那还有比较大的sourceforge站点?最好是美国的。 如何取得一个程序的内存占用率,cpu使用率等信息呢? 如何解决MSN Messenger5.0不能发送文件给MSN Messenger4.6的问题? 怎样把时间放到数据库表里,格式需要转换吗? 文件操作,帮个忙吧? simple question 60 points wait for your picking 如何卸载rose 分虽小,结得快的啊!讨论一下…… option explicit是什么意思 大哥大姐们!看一下嘛!帮帮我! 又一次被奶牛拒掉,而且有了注册机。 simple question 60 points wait for your picking 这是什么搭配 the very mother herself cannot recognize him the very mother 这是什么搭配 can_(take) shorter showers save water用taking吗 日本地震为什么会使地球的自转速度变得快了一点点?为什么是快而不是慢?指2011年3月11日的日本地震. kidnap到底是不是以重读闭音节结尾的? Real power cannot be given,It must be given的意思是什么 广西三月三节 600字作文要有自己的见解和自己对这个的感受!QWQ It was very diffcult with his mother to get him to take a bath翻译翻译这句子``急! The school management must be improved. that 和where在定语从句中的不同用法 1.Do you need my help for the final exams ,Marry?A Yes,please B l'd love to C l'd like to DWell done 2.There is [ ] '' u '' in the word summer.A a B an C the D / 3.Look!the Green family [ ] at the lake.A fish B fishes C is fishing D are fishing 都 大洋洲一共有多少个国家? 网破鱼游是什么成语 一道纠结的选择题 The kids _____ him a lot.A love B need C join D listen (上文说他教孩子们2小时的吉他,他工作非常认真) 这题选什么啊 All the teacher in the school must be present.的同义句 像鱼一样一个一个游出去的成语答案是什么? 如何让脑子记东西记得更快 大洋洲共有多少个国家我想知道大洋洲大大小小共有多少个国家. 鱼游成一排是什么成语 英语翻译you can only besure of what you have at present,you cannot be sure of something you may get in the futre 介绍男小伙伴作文写一件事 画英语手抄报的要怎么写? 英语翻译With this hand I will lift your sorrows.Your cup will never be empty,For I will be your wine.With this candle,I will light your way into darkness.With this ring,I ask you to be mine. 《和朋友一件事》作文 如何区别where和thatExample:I want to go to a place that suits tour.I want to go to a place where are many shops.如何区别呢 星火晨读英语美文100篇是英音还是美音?RT I will be fun ,because of you 翻译下 where和that的区别 柳州市园博园的作文500字以上 求星火《晨读英语美文100篇-四级》的听力音频.第一篇文章为“生而为赢”...用了才发现cd是裂的,无法读取,求共享...本人id便是Q号,可发至此, 英语翻译 首字母填空:Dike is mother a___him to buy some vegetables . 急求英语美文阅读的文档要能下载的 而且 内容较为简单点 the rest of the evening will be given up to singing and dancing.怎么翻译成中文 help的过去式是原型吗 There is a tall tree next to the house 变为一般疑问句 翻译I'm a pessimist because of intelligence,but an optimist because of will 什么是世界语?哪个国家说世界语? There is a big old tree next my house.为什么后面的next不加to 英语口语课教老外啊题目是teach the teacher,本人英语水平不高.讲些什么比较好呢,生肖一类简单的已经讲掉了.拜托牛人给个高招了! there‘s no time —————— A.play B.to play C.playing D.to playing选哪个?为什么呢?什么句型? there is a small house____beautiful gaden next to the school.a.with b.between c.for 感恩节英语手抄报超级少 they are having a good time___games?空格处应该是to play还是playing I need to believe love can last... 英语感恩节手抄报十五分钟之内!还要翻译!不多不少的(5行)还要英语 there is a supermarket next to the post office .还有there is a park next to the supermarket 、Across form the school is a restaurant 、Next to the restaurant is a library? this is the last sentence i say to you ,i believe in your love 鱼( )而( )中填什么是个成语 世界语是什么语言?在什么国家或地区使用?3Q I am not what you are you do not need to listen to me but you must believe me I love you 要完整 拜托了 县里有一个比赛,要做关于节日的英语手抄报,我想做感恩节,画什么图好?求手抄报格式 求星火英语美文100篇四级MP3.买回来发现光盘不可用.官网我已经去了,但是不可下.直接给MP3文件不胜感谢.505663346@肖婵编的。第一篇是 生而为赢。505663346 组成句子.showers,if,take,shorter,take,you,ones, ()()向前,()外()(),成语该怎么填 星火《英语15篇文章贯穿4级词汇》怎么样啊我要考英语四级,但我的英语基础是在是不敢恭维,背会这本书能让我过四级吗 i need to be in love是啥意思? 感恩节英语手抄报怎么写ya? 我背东西太慢怎么办我背东西慢 而且忘得也快 别人二十分钟记下来的东西我要用一个小时 别人看一遍就记住的 我被好久也记不住 我一直在锻炼我的记忆力 可是似乎没有什么效果 can take shorter showers save water 英语)感恩节的手抄报(怎么写,什么内容)
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘