c# asp.net获取google pr值源代码
来源:互联网 发布:网络童星传媒公司 编辑:程序博客网 时间:2024/06/05 13:32
using System;
using System.Collections.Generic;
using System.Text;
using System.Web;
using System.Net;
using System.IO;
namespace BLL
{
/// <summary>
/// GooglePR 的摘要说明
/// </summary>
public class GooglePR
{
public static string GetPageRank(string strUrl)
{
string sURL = "http://toolbarqueries.google.com/search?client=navclient-auto&ch=" + GetPR(strUrl) + "&ie=UTF-8&oe=UTF-8&features=Rank&q=info:" + System.Web.HttpUtility.UrlEncode(strUrl);
string result = Net.GetHtml(sURL);
if (result != null)
{
result = result.Trim();
if (result.IndexOf(':') > 0)
{
string[] pr = result.Split(':');
if (pr.Length == 3)
return pr[2].ToString();
}
}
return "0";
}
private static string GetPR(string url)
{
url = "info:" + url;
string ch = GoogleCH(str_asc(url)).ToString();
ch = "6" + ch;
return ch;
}
private static int[] str_asc(string str)
{
if (str == null || str == string.Empty)
return null;
int[] result = new int[str.Length];
for (int i = 0; i < str.Length; i++)
{
result[i] = (int)str[i];
}
return result;
}
private static long yiweitwo(long a, long b)
{
long z = 0x80000000;
if ((z & a) != 0)
{
a = (a >> 1);
a &= (~z);
a |= 0x40000000;
a = ((int)a >> (int)(b - 1));
}
else
{
a = ((int)a >> (int)b);
}
return a;
}
private static int[] yiwei(long a, long b, long c)
{
a -= b; a -= c; a ^= (yiweitwo(c, 13));
b -= c; b -= a; b ^= (a << 8);
c -= a; c -= b; c ^= (yiweitwo(b, 13));
a -= b; a -= c; a ^= (yiweitwo(c, 12));
b -= c; b -= a; b ^= (a << 16);
c -= a; c -= b; c ^= (yiweitwo(b, 5));
a -= b; a -= c; a ^= (yiweitwo(c, 3));
b -= c; b -= a; b ^= (a << 10);
c -= a; c -= b; c ^= (yiweitwo(b, 15));
return new int[] { (int)a, (int)b, (int)c };
}
private static int GoogleCH(int[] url)
{
int length = url.Length;
long a = 0x9E3779B9;
long b = 0x9E3779B9;
long c = 0xE6359A60;
int k = 0;
int len = length;
int[] mid;
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));
mid = yiwei(a, b, c);
a = mid[0]; b = mid[1]; c = mid[2];
k += 12;
len -= 12;
}
c += length;
switch (len)
{
case 11:
{
c += (url[k + 10] << 24);
c += (url[k + 9] << 16);
c += (url[k + 8] << 8);
b += (url[k + 7] << 24);
b += (url[k + 6] << 16);
b += (url[k + 5] << 8);
b += (url[k + 4]);
a += (url[k + 3] << 24);
a += (url[k + 2] << 16);
a += (url[k + 1] << 8);
a += (url[k + 0]);
break;
}
case 10:
{
c += (url[k + 9] << 16);
c += (url[k + 8] << 8);
b += (url[k + 7] << 24);
b += (url[k + 6] << 16);
b += (url[k + 5] << 8);
b += (url[k + 4]);
a += (url[k + 3] << 24);
a += (url[k + 2] << 16);
a += (url[k + 1] << 8);
a += (url[k + 0]);
break;
}
case 9:
{
c += (url[k + 8] << 8);
b += (url[k + 7] << 24);
b += (url[k + 6] << 16);
b += (url[k + 5] << 8);
b += (url[k + 4]);
a += (url[k + 3] << 24);
a += (url[k + 2] << 16);
a += (url[k + 1] << 8);
a += (url[k + 0]);
break;
}
case 8:
{
b += (url[k + 7] << 24);
b += (url[k + 6] << 16);
b += (url[k + 5] << 8);
b += (url[k + 4]);
a += (url[k + 3] << 24);
a += (url[k + 2] << 16);
a += (url[k + 1] << 8);
a += (url[k + 0]);
break;
}
case 7:
{
b += (url[k + 6] << 16);
b += (url[k + 5] << 8);
b += (url[k + 4]);
a += (url[k + 3] << 24);
a += (url[k + 2] << 16);
a += (url[k + 1] << 8);
a += (url[k + 0]);
break;
}
case 6:
{
b += (url[k + 5] << 8);
b += (url[k + 4]);
a += (url[k + 3] << 24);
a += (url[k + 2] << 16);
a += (url[k + 1] << 8);
a += (url[k + 0]);
break;
}
case 5:
{
b += (url[k + 4]);
a += (url[k + 3] << 24);
a += (url[k + 2] << 16);
a += (url[k + 1] << 8);
a += (url[k + 0]);
break;
}
case 4:
{
a += (url[k + 3] << 24);
a += (url[k + 2] << 16);
a += (url[k + 1] << 8);
a += (url[k + 0]);
break;
}
case 3:
{
a += (url[k + 2] << 16);
a += (url[k + 1] << 8);
a += (url[k + 0]);
break;
}
case 2:
{
a += (url[k + 1] << 8);
a += (url[k + 0]);
break;
}
case 1:
{
a += (url[k + 0]);
break;
}
}
mid = yiwei(a, b, c);
return mid[2];
}
}
}
using System.Collections.Generic;
using System.Text;
using System.Web;
using System.Net;
using System.IO;
namespace BLL
{
/// <summary>
/// GooglePR 的摘要说明
/// </summary>
public class GooglePR
{
public static string GetPageRank(string strUrl)
{
string sURL = "http://toolbarqueries.google.com/search?client=navclient-auto&ch=" + GetPR(strUrl) + "&ie=UTF-8&oe=UTF-8&features=Rank&q=info:" + System.Web.HttpUtility.UrlEncode(strUrl);
string result = Net.GetHtml(sURL);
if (result != null)
{
result = result.Trim();
if (result.IndexOf(':') > 0)
{
string[] pr = result.Split(':');
if (pr.Length == 3)
return pr[2].ToString();
}
}
return "0";
}
private static string GetPR(string url)
{
url = "info:" + url;
string ch = GoogleCH(str_asc(url)).ToString();
ch = "6" + ch;
return ch;
}
private static int[] str_asc(string str)
{
if (str == null || str == string.Empty)
return null;
int[] result = new int[str.Length];
for (int i = 0; i < str.Length; i++)
{
result[i] = (int)str[i];
}
return result;
}
private static long yiweitwo(long a, long b)
{
long z = 0x80000000;
if ((z & a) != 0)
{
a = (a >> 1);
a &= (~z);
a |= 0x40000000;
a = ((int)a >> (int)(b - 1));
}
else
{
a = ((int)a >> (int)b);
}
return a;
}
private static int[] yiwei(long a, long b, long c)
{
a -= b; a -= c; a ^= (yiweitwo(c, 13));
b -= c; b -= a; b ^= (a << 8);
c -= a; c -= b; c ^= (yiweitwo(b, 13));
a -= b; a -= c; a ^= (yiweitwo(c, 12));
b -= c; b -= a; b ^= (a << 16);
c -= a; c -= b; c ^= (yiweitwo(b, 5));
a -= b; a -= c; a ^= (yiweitwo(c, 3));
b -= c; b -= a; b ^= (a << 10);
c -= a; c -= b; c ^= (yiweitwo(b, 15));
return new int[] { (int)a, (int)b, (int)c };
}
private static int GoogleCH(int[] url)
{
int length = url.Length;
long a = 0x9E3779B9;
long b = 0x9E3779B9;
long c = 0xE6359A60;
int k = 0;
int len = length;
int[] mid;
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));
mid = yiwei(a, b, c);
a = mid[0]; b = mid[1]; c = mid[2];
k += 12;
len -= 12;
}
c += length;
switch (len)
{
case 11:
{
c += (url[k + 10] << 24);
c += (url[k + 9] << 16);
c += (url[k + 8] << 8);
b += (url[k + 7] << 24);
b += (url[k + 6] << 16);
b += (url[k + 5] << 8);
b += (url[k + 4]);
a += (url[k + 3] << 24);
a += (url[k + 2] << 16);
a += (url[k + 1] << 8);
a += (url[k + 0]);
break;
}
case 10:
{
c += (url[k + 9] << 16);
c += (url[k + 8] << 8);
b += (url[k + 7] << 24);
b += (url[k + 6] << 16);
b += (url[k + 5] << 8);
b += (url[k + 4]);
a += (url[k + 3] << 24);
a += (url[k + 2] << 16);
a += (url[k + 1] << 8);
a += (url[k + 0]);
break;
}
case 9:
{
c += (url[k + 8] << 8);
b += (url[k + 7] << 24);
b += (url[k + 6] << 16);
b += (url[k + 5] << 8);
b += (url[k + 4]);
a += (url[k + 3] << 24);
a += (url[k + 2] << 16);
a += (url[k + 1] << 8);
a += (url[k + 0]);
break;
}
case 8:
{
b += (url[k + 7] << 24);
b += (url[k + 6] << 16);
b += (url[k + 5] << 8);
b += (url[k + 4]);
a += (url[k + 3] << 24);
a += (url[k + 2] << 16);
a += (url[k + 1] << 8);
a += (url[k + 0]);
break;
}
case 7:
{
b += (url[k + 6] << 16);
b += (url[k + 5] << 8);
b += (url[k + 4]);
a += (url[k + 3] << 24);
a += (url[k + 2] << 16);
a += (url[k + 1] << 8);
a += (url[k + 0]);
break;
}
case 6:
{
b += (url[k + 5] << 8);
b += (url[k + 4]);
a += (url[k + 3] << 24);
a += (url[k + 2] << 16);
a += (url[k + 1] << 8);
a += (url[k + 0]);
break;
}
case 5:
{
b += (url[k + 4]);
a += (url[k + 3] << 24);
a += (url[k + 2] << 16);
a += (url[k + 1] << 8);
a += (url[k + 0]);
break;
}
case 4:
{
a += (url[k + 3] << 24);
a += (url[k + 2] << 16);
a += (url[k + 1] << 8);
a += (url[k + 0]);
break;
}
case 3:
{
a += (url[k + 2] << 16);
a += (url[k + 1] << 8);
a += (url[k + 0]);
break;
}
case 2:
{
a += (url[k + 1] << 8);
a += (url[k + 0]);
break;
}
case 1:
{
a += (url[k + 0]);
break;
}
}
mid = yiwei(a, b, c);
return mid[2];
}
}
}
- c# asp.net获取google pr值源代码
- 最新Google PR值获取算法C#源码(2011年)
- 用asp.net c# 获取网页源代码
- 用asp.net c# 获取网页源代码
- C# HttpWebRequest 从google服务器获取google的PageRank PR值
- 获取google pr
- paip.c#.net 获取网站PR值
- 【C#源代码】查询alexa全球,中国排名,google pr,google收录和百度收录及快照
- 查询alexa全球,中国排名,google pr,google收录和百度收录及快照 【C#源代码】
- C#源代码-查询alexa全球,中国排名,google pr,google收录和百度收录及快照
- Asp.net 获取网页源代码
- Google PR值查询
- Google PR值查询
- 什么是google pr值?
- C#实现google Pr查询的方法
- 如何提高google pr值
- Google Spell Checker Api Asp.Net C#
- Google PR
- What are the difference between DDL, DML and DCL commands?
- Thinkpad SL-400 XP驱动下载与安装方法
- c# asp.net获取Alexa排名数据
- 资源管理器默认打开指定盘
- struts2学习中遇到的一些问题
- c# asp.net获取google pr值源代码
- 用.net编写站内短信群发软件
- c# asp.net获取域名whois信息
- asp.net实现手机号码归属地查询
- 事务
- 终于
- 动态内表,动态SQL,取表结构信息
- keil中的C与汇编混合编程
- 日志问题普及篇