نمایش نتایج 1 تا 4 از 4

نام تاپیک: کد نمایش پیج رنک گوگل

  1. #1

    کد نمایش پیج رنک گوگل

    سلام
    کد زیر برای گرفتن پیج رنک گوگل هست ولی یجا مشکل داره ودرست کار نمیکنه
    اگه دوستان میدونند مشکلش چیه ممنون میشم راهنمایی کنند

    <?php
    define('GOOGLE_MAGIC',0xE6359A60);
    class kPageRank
    {
    var $pr;
    var $timeout;
    var $hosts = array('www.google.com','toolbarqueries.google.com' );
    function kPageRank($path_images,$url_images,$hosts = 0,$timeout = 5)
    {
    $this->path_images = $path_images;
    $this->url_images = $url_images;
    $this->timeout = $timeout;
    if(!empty($hosts))
    {
    $this->hosts = $hosts;
    }
    return true;
    }
    function getImage($pr = '0',$style)
    {
    $imagefile = $this->path_images .$style .'/pr'.$pr .'.gif';
    $im = @imagecreatefromgif($imagefile);
    if($im)
    {
    return $im;
    }
    else
    {
    return false;
    }
    }
    function getImages($style)
    {
    $styles = $this->getStyles();
    if(in_array($style,$styles))
    {
    for($i=0;$i<=10;$i++)
    {
    $images[$i] = $this->url_images .$style .'/pr'.$i .'.gif';
    }
    return $images;
    }
    else
    {
    return false;
    }
    }
    function getStyles()
    {
    if ($handle = opendir($this->path_images))
    {
    while (false !== ($file = readdir($handle)))
    {
    if((is_dir($this->path_images .$file)) &&($file !== '..') &&($file !== '.'))
    {
    $styles[] = $file;
    }
    }
    closedir($handle);
    }
    return $styles;
    }
    function getPageRank($url,$host = 'toolbarqueries.google.com')
    {
    $fp = @fsockopen($host,80,$errno,$errstr,$this->timeout);
    if($fp)
    {
    $hash = $this->getHash($url);
    $ch = $this->getCh($hash);
    $out = "GET /search?client=navclient-auto&ch=".$ch ."&features=Rank&q=info:".$url ." HTTP/1.1\r\n";
    $out .= "Host: ".$host ."\r\n";
    $out .= "Connection: Close\r\n\r\n";
    fwrite($fp,$out);
    while (!feof($fp))
    {
    $data = fgets($fp,128);
    $pos = strpos($data,"Rank_");
    if($pos !== false)
    {
    $pagerank = intval(substr($data,$pos +9));
    return $pagerank;
    }
    }
    fclose($fp);
    }
    else
    {
    $this->errors[] = $errstr .' ('.$errno .')';
    return false;
    }
    }
    function strToInt($string,$check,$gmagic)
    {
    $integer32 = 4294967296;
    $length = strlen($string);
    for ($i = 0;$i <$length;$i++)
    {
    $check *= $gmagic;
    if ($check >= $integer32)
    {
    $check = ($check -$integer32 * (int) ($check / $integer32));
    $check = ($check <-2147483648) ?($check +$integer32) : $check;
    }
    $check += ord($string{$i});
    }
    return $check;
    }
    function getHash($url)
    {
    $check1 = $this->strToInt($url,0x1505,0x21);
    $check2 = $this->strToInt($url,0,0x1003F);
    $check1 >>= 2;
    $check1 = (($check1 >>4) &0x3FFFFC0 ) |($check1 &0x3F);
    $check1 = (($check1 >>4) &0x3FFC00 ) |($check1 &0x3FF);
    $check1 = (($check1 >>4) &0x3C000 ) |($check1 &0x3FFF);
    $t1 = (((($check1 &0x3C0) <<4) |($check1 &0x3C)) <<2 ) |($check2 &0xF0F );
    $t2 = (((($check1 &0xFFFFC000) <<4) |($check1 &0x3C00)) <<0xA) |($check2 &0xF0F0000 );
    return ($t1 |$t2);
    }
    function getCh($hash)
    {
    $checkByte = 0;
    $flag = 0;
    $string = sprintf('%u',$hash) ;
    $length = strlen($string);
    for ($i = $length -1;$i >= 0;$i --) {
    $Re = $string{$i};
    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.$string;
    }
    function checkFake($url)
    {
    $user_agent = "Mozilla/4.0";
    $site_url = "http://64.233.161.104/search?hl=en&lr=&q=cache:".$url;
    $ch = curl_init();
    curl_setopt ($ch,CURLOPT_URL,$site_url);
    curl_setopt ($ch,CURLOPT_USERAGENT,$user_agent);
    curl_setopt ($ch,CURLOPT_HEADER,1);
    curl_setopt ($ch,CURLOPT_RETURNTRANSFER,1);
    curl_setopt ($ch,CURLOPT_FOLLOWLOCATION,1);
    curl_setopt ($ch,CURLOPT_TIMEOUT,120);
    $code = curl_exec ($ch);
    curl_close($ch);
    $start = strpos($code,"cache</font></a> of <a href=\"");
    $end = strpos($code,"</a>.");
    $length = $end -$start;
    $code1 = substr($code,$start,$length);
    $pattern = "did not match any documents";
    if(strpos($code1,$url) != false)
    {
    return 1;
    }
    else if (eregi($pattern,$code))
    {
    return 2;
    }
    else
    {
    return 3;
    }
    }
    }


    ?>

  2. #2
    کاربر دائمی آواتار Unique
    تاریخ عضویت
    مرداد 1384
    محل زندگی
    ایران - اصفهان
    پست
    3,199

    نقل قول: کد نمایش پیج رنک گوگل

    شما میخواین Pagerank سایت خودتون را نشون بدین یا میخواین یک نرم افزار درست کنید که pagerank سایت های مختلف را نشون بده ؟

  3. #3

    نقل قول: کد نمایش پیج رنک گوگل

    نقل قول نوشته شده توسط Unique مشاهده تاپیک
    شما میخواین Pagerank سایت خودتون را نشون بدین یا میخواین یک نرم افزار درست کنید که pagerank سایت های مختلف را نشون بده ؟
    ممنون این قسمتی از اسکریپت هست که مخصوص پیج رنک هست و پیج رنک هر سایتی را وارد کنیم نشون میده اما مشکل داره و میزنه n/a
    یجاش یه مشکلی داره ولی خودم نتونستم بفهمم کجاش مشکل داره

  4. #4
    کاربر دائمی آواتار Unique
    تاریخ عضویت
    مرداد 1384
    محل زندگی
    ایران - اصفهان
    پست
    3,199

    نقل قول: کد نمایش پیج رنک گوگل

    ببینین اگه میخواین pagerank را توی سایت خودتون نشون بدین کافیه کلمه prchecker را جستجو کنید تا کلی سایت براتون بیاد و از یک تیکه javascript استفاده کنید تا بتونین page rank را برای مخاطبین توی سایتتون بگذارین ، اما اگه میخواین افراد بیان و pagerank سایتشون را یا خودتون به قصد و نیتی pagerank سایتی را خودتون در بیارین راه داره ، من یک اسکریپت دارم شبیه کد شماست ولی فرق داره :

      define('GOOGLE_MAGIC', 0xE6359A60);

    function _zeroFill($a, $b){
    $z = hexdec(80000000);
    if ($z & $a){
    $a = ($a>>1);
    $a &= (~$z);
    $a |= 0x40000000;
    $a = ($a>>($b-1));
    }else
    $a = ($a>>$b);
    return $a;
    }

    function _mix($a,$b,$c){
    $a -= $b; $a -= $c; $a ^= (_zeroFill($c,13));
    $b -= $c; $b -= $a; $b ^= ($a<<8);
    $c -= $a; $c -= $b; $c ^= (_zeroFill($b,13));
    $a -= $b; $a -= $c; $a ^= (_zeroFill($c,12));
    $b -= $c; $b -= $a; $b ^= ($a<<16);
    $c -= $a; $c -= $b; $c ^= (_zeroFill($b,5));
    $a -= $b; $a -= $c; $a ^= (_zeroFill($c,3));
    $b -= $c; $b -= $a; $b ^= ($a<<10);
    $c -= $a; $c -= $b; $c ^= (_zeroFill($b,15));
    return array($a,$b,$c);
    }

    function _GoogleCH($url, $length=null, $init=GOOGLE_MAGIC){
    if(is_null($length))
    $length = sizeof($url);
    $a = $b = 0x9E3779B9;
    $c = $init;
    $k = 0;
    $len = $length;
    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));
    $_mix = _mix($a,$b,$c);
    $a = $_mix[0]; $b = $_mix[1]; $c = $_mix[2];
    $k += 12;
    $len -= 12;
    }
    $c += $length;
    switch($len){
    case 11: $c += ($url[$k + 10] << 24);
    case 10: $c += ($url[$k + 9] << 16);
    case 9 : $c += ($url[$k + 8] << 8);
    case 8 : $b += ($url[$k + 7] << 24);
    case 7 : $b += ($url[$k + 6] << 16);
    case 6 : $b += ($url[$k + 5] << 8);
    case 5 : $b += ($url[$k + 4]);
    case 4 : $a += ($url[$k + 3] << 24);
    case 3 : $a += ($url[$k + 2] << 16);
    case 2 : $a += ($url[$k + 1] << 8);
    case 1 : $a += ($url[$k + 0]);
    }
    $_mix = _mix($a,$b,$c);
    return $_mix[2];
    }

    function _strord($string){
    for($i = 0;$i < strlen($string);$i++)
    $result[$i] = ord($string{$i});
    return $result;
    }

    function getPageRank($url){
    $pagerank = -1;
    $ch = "6"._GoogleCH(_strord("info:" . $url));
    $fp = fsockopen("www.google.com", 80, $errno, $errstr, 30);
    if($fp){
    $out = "GET /search?client=navclient-auto&ch=" . $ch . "&features=Rank&q=info:" . $url . " HTTP/1.1\r\n";
    $out .= "Host: www.google.com\r\n";
    $out .= "Connection: Close\r\n\r\n";
    fwrite($fp, $out);
    while (!feof($fp)){
    $data = fgets($fp, 128);
    $pos = strpos($data, "Rank_");
    if($pos === false){
    }else
    $pagerank = substr($data, $pos + 9);
    }
    fclose($fp);
    }
    return $pagerank;
    }


    این کار کار میکنه ولی مقدار 1- را بر میگردونه ! مشکل هم از کد نیست در واقع خود google داره مانع از دریافت اطلاعات از ip شما میشه ! من فکر کنم google فقط به موارد خاصی این دسترسی را میده و من تا حالا روی چند تا ip چک کردم و نشده ! روی Ip های ایران که اصلا.

    شما فکر کنین هر کسی بخواد همچین سرویسی راه بندازه اونوقت الکی سرور های google مشغول میشه و خودش یک راه هست برای سوء استفاده هایی ! پس نمیخواد دنبالش باشین ک پعید میدونم بدون مکاتبه با google به جایی برسین.

تاپیک های مشابه

  1. نمایش جالب در گوگل
    نوشته شده توسط armintirand در بخش توسعه وب (Web Development)
    پاسخ: 5
    آخرین پست: پنج شنبه 30 دی 1389, 08:17 صبح
  2. jترفند قفل کردن www دامین برای افزایش پیج رنک
    نوشته شده توسط rezadotcom در بخش توسعه وب (Web Development)
    پاسخ: 0
    آخرین پست: پنج شنبه 22 بهمن 1388, 20:32 عصر
  3. سوال: گرفتن پیچ رنک گوگل
    نوشته شده توسط hamidscary در بخش برنامه نویسی در 6 VB
    پاسخ: 4
    آخرین پست: یک شنبه 27 دی 1388, 22:04 عصر
  4. دریافت اطلاعات پیج رنک
    نوشته شده توسط payamka در بخش PHP
    پاسخ: 0
    آخرین پست: دوشنبه 09 آذر 1388, 15:51 عصر
  5. نمایش نتایج جستجوی گوگل در سایت خود
    نوشته شده توسط saeid taheri در بخش ASP.NET Web Forms
    پاسخ: 4
    آخرین پست: یک شنبه 02 اردیبهشت 1386, 23:24 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •