ERRORS
پنج شنبه 16 آذر 1391, 23:44 عصر
سلام
کد زیر برای گرفتن پیج رنک گوگل هست ولی یجا مشکل داره ودرست کار نمیکنه:اشتباه:
اگه دوستان میدونند مشکلش چیه ممنون میشم راهنمایی کنند
<?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;
}
}
}
?>
کد زیر برای گرفتن پیج رنک گوگل هست ولی یجا مشکل داره ودرست کار نمیکنه:اشتباه:
اگه دوستان میدونند مشکلش چیه ممنون میشم راهنمایی کنند
<?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;
}
}
}
?>