X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость ( Вход | Регистрация )

Открыть тему
Тема закрыта
> Не работает скрипт определения PR
buy_link
buy_link
Topic Starter сообщение 22.10.2011, 0:56; Ответить: buy_link
Сообщение #1


Участник
***

Группа: User
Сообщений: 111
Регистрация: 4.3.2011
Поблагодарили: 19 раз
Репутация:   2  


Всем доброй ночи.

Совсем недавно перестал работать php скрипт определения PR



Развернуть/Свернуть



$googlehost='toolbarqueries.google.com';
$googleua='Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.6) Gecko/20060728 Firefox/1.5';

function StrToNum($Str, $Check, $Magic) {
$Int32Unit = 4294967296;

$length = strlen($Str);
for ($i = 0; $i < $length; $i++) {
$Check *= $Magic;
if ($Check >= $Int32Unit) {
$Check = ($Check - $Int32Unit * (int) ($Check / $Int32Unit));
$Check = ($Check < -2147483648) ? ($Check + $Int32Unit) : $Check;
}
$Check += ord($Str{$i});
}
return $Check;
}

function HashURL($String) {
$Check1 = StrToNum($String, 0x1505, 0x21);
$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);

$T1 = (((($Check1 & 0x3C0) << 4) | ($Check1 & 0x3C)) <<2 ) | ($Check2 & 0xF0F );
$T2 = (((($Check1 & 0xFFFFC000) << 4) | ($Check1 & 0x3C00)) << 0xA) | ($Check2 & 0xF0F0000 );

return ($T1 | $T2);
}

function CheckHash($Hashnum) {
$CheckByte = 0;
$Flag = 0;

$HashStr = sprintf('%u', $Hashnum) ;
$length = strlen($HashStr);

for ($i = $length - 1; $i >= 0; $i --) {
$Re = $HashStr{$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.$HashStr;
}

function getch($url) { return CheckHash(HashURL($url)); }

function getpr($url) {
global $googlehost,$googleua;
$ch = getch($url);
$fp = fsockopen($googlehost, 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 .= "User-Agent: $googleua\r\n";
$out .= "Host: $googlehost\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
{
$gpr=substr($data, $pos + 9);
$gpr=trim($gpr);
$gpr=str_replace("\n",'',$gpr);
if (isset($gpr)) $pr=$gpr;
}
}
if (!isset($pr)) $pr="0";
return $pr;
fclose($fp);
}
}


$prs=getpr($url);





Прошу помощи. Есть версия, гугл сменил хост выше... Очень простой скрипт по сравнению с другими, из всего что накопал. Может аналог есть или этот исправить можно.


--------------------
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
AmoSeo
AmoSeo
сообщение 22.10.2011, 1:43; Ответить: AmoSeo
Сообщение #2


Завсегдатай
*****

Группа: Active User
Сообщений: 523
Регистрация: 10.6.2011
Поблагодарили: 130 раз
Репутация:   22  


Старый адрес проверки Google PR имел следующий вид:
www.google.com/search?client=navclient-auto&ch=%CHECKSUM%&features=Rank&q=info:%URL%

Новый адрес, при обращении к которому Google выдает корректные значения PageRank:
toolbarqueries.google.com/tbr?features=Rank&sourceid=navclient-ff&client=navclient-auto-ff&ch=%CHECKSUM%&q=info:%URL%


--------------------
Предоставляю услуги: Content Downloader - настройка парсера для любого сайта. (опыт с 2011 г.)
Наполнение магазинов товарами: Opencart, SimplaCMS, Webasyst и т.д.


Поблагодарили: (2)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
buy_link
buy_link
Topic Starter сообщение 22.10.2011, 14:24; Ответить: buy_link
Сообщение #3


Участник
***

Группа: User
Сообщений: 111
Регистрация: 4.3.2011
Поблагодарили: 19 раз
Репутация:   2  


AmoSeo, спасибо большое! Исправил в строчке:

$out = "GET /search?client=navclient-auto&ch=$ch&features=Rank&q=info:$url HTTP/1.1\r\n";


на

$out = "GET /tbr?features=Rank&sourceid=navclient-ff&client=navclient-auto-ff&ch=$ch&q=info:$url HTTP/1.1\r\n";


--------------------


Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Тема имеет прикрепленные файлыГде взять скрипт круговой индикатор выполнения
3 slavyn 453 14.12.2017, 22:55
автор: Caterpillar
Открытая тема (нет новых ответов) Ищу скрипт новостного агрегатора
0 Cunningfox 477 27.11.2017, 21:17
автор: Cunningfox
Открытая тема (нет новых ответов) Поиск. Скрипт а-ля pikabu.
1 Упс 767 20.11.2017, 8:19
автор: codename65
Открытая тема (нет новых ответов) Nofollow ссылки из robots.txt, как это работает?
Как-то запретить к индексации без rel="nofollow" из robots.txt
7 coremission 511 17.11.2017, 17:17
автор: coremission
Открытая тема (нет новых ответов) Мутаген в 2017. Кто работает?
8 OldSpice 1391 12.11.2017, 1:47
автор: _fan_


 



RSS Текстовая версия Сейчас: 17.12.2017, 6:09
Дизайн