欢迎访客之显示对方网站PR

没事想了一个略贱的功能,在欢迎访客界面上显示对方PR,这个也可以广泛应用在评论者和友链等地方,不过那样就太贱了,所以我决定弄成只对来访者本人显示.
效果大家应该已经看到了,顺便附张图吧

欢迎访客之显示对方网站PR
Google pagerank的API地址结构如下

http://toolbarqueries.google.com.hk/tbr?client=navclient-auto&features=Rank&q=info:xiaohudie.net&ch=820909c8a

后面那个ch的值相当于一个key,需要php运算,但是我在本地测试的时候发现和我自己网站运算的结果不同,暂时也不知道是PHP版本问题还是WIN与LINUX的问题,所以把两个运算方法都给出来吧,如果用第一种没有调出正确的PR,换成第二种就可以了.
查询PHP版本的方法如下

<?php  echo PHP_VERSION;?>

下面是对访客显示对方网站PR的代码

代码一

这是我自己网站测试通过的,操作系统LINUX,PHP版本5.2.17

<?php
if($_COOKIE["comment_author_url_" . COOKIEHASH]!="") {
function app_hash_url($url) {
$seed = "Mining PageRank is AGAINST GOOGLE'S TERMS OF SERVICE.";
$hash = 0x01020345;
for ($i=0; $i<strlen($url); $i++) {
$hash ^= ord($seed{$i%87}) ^ ord($url{$i});
$hash = (($hash >> 23) & 0x1FF) | $hash << 9;
}
return sprintf("8%x", $hash);
}
$domain1 = $_COOKIE["comment_author_url_".COOKIEHASH];
$domain=substr($domain1,7);//去掉访客网址前面的http://,只保留domain
$startUrl = "http://toolbarqueries.google.com/tbr?client=navclient-auto&features=Rank&q=info:";
$hash = substr(app_hash_url($domain),9);//由于我网站运算hash的时候得出的ch值错误,观察发现要从第10位开始截
$resultUrl = $startUrl.$domain."&ch=8".$hash;
$array = get_headers($resultUrl,1);
if(!preg_match('/403/',$array[0])){//这个以前文章提过,用来判断是否可以准确读取页面,通常没有pr的时候调用api会跳403
$pageContent = file_get_contents($resultUrl);
$pageRank = substr($pageContent,9);
echo $pageRank;}else { echo "0";}
}
?>

代码二

这是本地测试通过的代码,操作系统WIN7,PHP版本5.2.14

<?php echo PHP_VERSION;
if($_COOKIE["comment_author_url_" . COOKIEHASH]!="") {
function app_hash_url($url) {
$seed = "Mining PageRank is AGAINST GOOGLE'S TERMS OF SERVICE.";
$hash = 0x01020345;
for ($i=0; $i<strlen($url); $i++) {
$hash ^= ord($seed{$i%87}) ^ ord($url{$i});
$hash = (($hash >> 23) & 0x1FF) | $hash << 9;
}
return sprintf("8%x", $hash);//貌似WIN主机直接这么算就可以得出准确的ch值
}
$domain1 = $_COOKIE['comment_author_url_'.COOKIEHASH];
$domain=substr($domain1,7);
$startUrl = "http://toolbarqueries.google.com/tbr?client=navclient-auto&features=Rank&q=info:";
$resultUrl = $startUrl.$domain.'&ch='.app_hash_url($domain);
$array = get_headers($resultUrl,1);
if(!preg_match('/403/',$array[0])){
$pageContent = file_get_contents("$resultUrl");
$pageRank = substr($pageContent,9);
echo $pageRank;
}else{echo '0';}
}
?>

如果想用在其他地方来查询某些网站的PR,改一下$domain值就行了.写完了,挺累的,你们不能像上两篇那样对我,才三十几条评论,我一颗七窍玲珑心都碎了

LIKE OR SHARE IT:

admin发表于Code目录下,标签为,转载请保留链接

TOP DOWN
发表评论

您必须 [ 登录 ] 才能发表留言!

  1. 沙 发 xsinger

    沙发 :v5:

    四月 11, 2013 16:33:51
  2. 板 凳 不亦乐乎

    七窍玲珑心啊。 :xiao:

    四月 11, 2013 16:52:29
  3. 地 板 仰肖

    这有什么用。 :han:

    四月 11, 2013 16:58:42
  4. 地 毯 xsinger

    虽没PR,但有RP!屌丝不哭!

    四月 11, 2013 17:00:08
  5. 地 面 大发

    我没显示啊啊 啊啊 啊啊啊啊 啊啊啊啊啊 啊啊啊啊啊啊 啊啊啊啊 啊啊 啊啊

    四月 11, 2013 17:48:42
  6. 地 下 619影视

    哥PR=3知道的人不多吧。嘿嘿

    四月 11, 2013 17:50:52
  7. 7 楼 凤翼天堂

    = =所以这有什么意义?

    四月 11, 2013 18:28:49
  8. 8 楼 夜枫

    RP,RP.. :keai: :keai: :keai: 据说PR和RP有一定的关系…

    四月 11, 2013 19:45:40
  9. 9 楼 xsinger

    我爱谷歌!必须表明真心!

    四月 11, 2013 20:19:46
  10. 10 楼 Android

    Android你好
    贵站PR:0
    有种想死的感觉 :kelian: :kelian: :kelian: :kelian:

    四月 11, 2013 20:47:44
  11. 11 楼 郑永

    话说你这截图。。。用过变身术吧?哈哈

    四月 11, 2013 21:01:38
    • 小蝴蝶

      @郑永 哈哈哈哈 是的 你懂的

      1101室 四月 11, 2013 21:08:47
      • 郑永

        @小蝴蝶 一顿臭骂啊~~ 这pr是可以搞一个 PR 排行? 比如全部来你这里评论的人,来一个pr排行版,哈哈。。别扔砖头啊~~

        1102室 四月 11, 2013 21:22:05
        • 小蝴蝶

          @郑永 哈哈哈哈哈 太贱了哈哈哈

          1103室 四月 11, 2013 21:58:02
        • 方露宇

          @郑永 尼玛真贱啊,叫我们没有pr的情何以堪。

          1103室 四月 13, 2013 00:46:03
          • 郑永

            @方露宇 只是折腾而已,哈哈,后来想想,是没必要,但我想的不是只是pr而已,还有网站截图等信息,因为来评论的大多数都有网站~只是搞个体验。

            1104室 四月 13, 2013 02:26:52
          • 郑永

            @方露宇 你对pr有兴趣吗?1.如果没有,为何情何以堪? 2.如果有,难道不觉得这个想法不错么?在你网站上留言的人都是有网站的人,列出一个来客的PR排行,没有意义吗?至少让你知道,来你站评论的人PR排行情况。另外,小蝴蝶说我贱,是跟我开玩笑,因为她是我朋友,你说贱是什么意思?在不认识对方的情况下,最好别随便说贱两个字。

            1104室 四月 13, 2013 02:54:44
            • 小蝴蝶

              @郑永 啊 他肯定是跟我学的 这倒霉孩子不学好 尽学坏了 不知道尊敬长辈。。快给郑叔叔捶捶背

              1105室 四月 13, 2013 04:44:51
            • 方露宇

              @郑永 抱歉抱歉。其实我也是开玩笑的。如果这有让你感到不舒服的地方,请容给你致以诚挚的歉意。并且愿意为我说的 话承担责任,也愿我们能够成为朋友。我非常抱歉此前说的这些话。再次对你道歉~

              1105室 四月 13, 2013 09:40:53
  12. 12 楼 Arch!tect

    挺好,不用去prchecker查了

    四月 11, 2013 21:20:05
  13. 13 楼 airoschou

    我博客比我首页pr高。。。

    四月 11, 2013 21:28:54
  14. 14 楼 阿邙

    新站无PR,无压力。

    四月 11, 2013 22:09:49
  15. 15 楼 SEO博客

    俺的肯定显示0.。。。。。。。。。。。哦no

    四月 12, 2013 08:46:12
  16. 16 楼 airoschou

    我擦 :cao: ,你的alexa排名比我高了….就看到你从100万每天以10万的速度上升!

    四月 12, 2013 10:58:59
  17. 17 楼 山野愚人居

    这功能不错啊,用上了么?我看看

    四月 12, 2013 11:25:29
  18. 18 楼 哥特复兴

    哥特复兴你好
    贵站PR:3 :meme: :meme: :meme: 话说流量还没来啊

    四月 12, 2013 13:20:48
  19. 19 楼 ChoJemmy

    要不再整一个显示rp的,贵站人品爆表。

    四月 12, 2013 15:16:28
  20. 20 楼 大发

    只是测试下

    四月 12, 2013 16:13:11
  21. 21 楼 Mike

    PR3 哈哈哈~ :nono:

    四月 12, 2013 19:27:45
  22. 22 楼 方露宇

    - -我的PR是0你给显示出来明显打击我的心情么。。。

    四月 13, 2013 00:44:41
    • 郑永

      @方露宇 只有你自己可以看到,谁打击你了?只是给你时刻关注pr的信息而已。

      2201室 四月 13, 2013 02:56:49
  23. 23 楼 阿水博客

    好吧,pr果断是0 :fue:

    四月 13, 2013 11:12:05
  24. 24 楼 电脑爱好者

    显示的我的不对 我的是2 显示的是0 :koubixiu:

    四月 13, 2013 11:39:35
  25. 25 楼 Android

    :meme: :meme:看看pr

    四月 14, 2013 21:52:31
  26. 26 楼 Android

    新域名 心开始

    四月 14, 2013 21:55:37
  27. 27 楼 Android

    心都碎了 :xia: :xia: :xia: :xia: :xia:

    四月 14, 2013 21:56:49
  28. 28 楼 梦月酱

    怎么还是会跳转首页 – -

    四月 15, 2013 02:45:22
    • 小蝴蝶

      @梦月酱 :sui: 不知道….有另外一个人也遇到这个问题 你俩都是火狐 可能跟这个有关系

      2801室 四月 18, 2013 23:15:28
  29. 29 楼 左尔德

    这个……

    四月 17, 2013 11:32:24
  30. 30 楼 敏敏

    好吧PR的根本目的并不是给链接分出三六九等

    十月 13, 2013 03:49:25