Форум SAPE.RU

Форум SAPE.RU (http://forum.sape.ru/index.php)
-   Софт для оптимизаторов и вебмастеров (http://forum.sape.ru/forumdisplay.php?f=36)
-   -   Как побороть капчу яндекса? (http://forum.sape.ru/showthread.php?t=64655)

Deicider 24.01.2011 10:07

Как побороть капчу яндекса?
 
Коллеги, добрый день!

В процессе написания собственного скрипта проверки позиций в яндексе, я столкнулся с проблемой "бесконечной" капчи. Вкратце суть в следующем:
Скрипт дергает страницу по адресу вида "http://yandex.ru/yandsearch?text=ПОИСКОВЫЙ_ЗАПРОС&lr=213". Если всё ок, то парсит её. Если появляется страница с капчей, то капча посылается на разгадывание в antigate. НО! После ввода капчи, вновь появляется страница с капчей, причем не потому что был неправильный ввод. Капча вводится правильная. А теперь самое интересное. Если по ходу работы скрипта, взять урл страницы с капчей, открыть её в браузере, и ввести капчу руками, то появляется требуемая страница выдачи. Соответственно, проблема в том, что яша как-то все-таки палит, что запрос идет не от человека, а от робота. Но как он это делает, я так и не понял.

klyop-sanya 24.01.2011 10:13

Цитата:

Сообщение от Deicider (Сообщение 1002092)
Если по ходу работы скрипта, взять урл страницы с капчей, открыть её в браузере, и ввести капчу руками, то появляется требуемая страница выдачи. Соответственно, проблема в том, что яша как-то все-таки палит, что запрос идет не от человека, а от робота. Но как он это делает, я так и не понял.

можеш дать пару примеров где нужно вводить капчу - хочу посмотреть куда потом идет перенаправление после ручного ввода.

volkovysk 24.01.2011 10:17

Цитата:

Сообщение от Deicider (Сообщение 1002092)
Но как он это делает, я так и не понял.

Возможно определяет яндекс referer , тоесть referer показывает, что запрос подаётся не с его домена, а чужого.

klyop-sanya 24.01.2011 10:19

попробуй вот так
http://yandex.ru/yandsearch?text=ПОИСКОВЫЙ_ЗАПРОС&lr=0

в конце 0 - тоесть не учитывается регион
213 - это предпочтение сайтам из Москвы и области

или вот так еще поробуй
http://yandex.ru/yandsearch?date=&te...numdoc=10&lr=0

Deicider 24.01.2011 10:43

Цитата:

Сообщение от klyop-sanya (Сообщение 1002095)
можеш дать пару примеров где нужно вводить капчу - хочу посмотреть куда потом идет перенаправление после ручного ввода.

После ручного ввода идет перенаправление (302) на адрес вида Параметр key каждый раз уникальный, поэтому если Вы сейчас введете этот урл в браузер, то не получите того поведения, которое должно быть.

Далее, если капча правильная, то идет 302-перенаправление на урл, записанный в retpath, который и является тем самым урлом, который запрашивал скрипт, в надежде получить страницу выдачи. В браузере мы получаем выдачу, а робот опять получает перенаправление на страницу капчи, и так до бесконечности.

klyop-sanya, во-первых мне нужна именно москва, а во-вторых, всякие вариации запросов я уже пробовал, не помогает.

volkovysk, откуда по-вашему вообще мог взяться реферер чужого домена? А вообще, если вводить капчу через браузер и НЕ передавать при этом реферер, то всё работает. Проблема не в этом.

zhegloff 24.01.2011 10:50

Цитата:

Сообщение от Deicider (Сообщение 1002113)
откуда по-вашему вообще мог взяться реферер чужого домена? А вообще, если вводить капчу через браузер и НЕ передавать при этом реферер, то всё работает. Проблема не в этом.

А скрипт куки принимает- передает? Попробуйте в браузере куки отключить.

Deicider 24.01.2011 10:51

Цитата:

Сообщение от zhegloff (Сообщение 1002115)
А скрипт куки принимает- передает? Попробуйте в браузере куки отключить.

Всё принимает и передает. Делаю через CURL, имитирую живого человека, как могу :)
Но проблема 100% не в этом, потому что, если после ввода скриптом капчи прервать скрипт, взять урл из location-а, который получется при редиректе и ввести его в браузере ВООБЩЕ БЕЗ КУК, то браузер получает выдачу, какую надо, хотя тут уже явное палево, что как-минимум кук нет (или они не те), и юзер-агент другой.

volkovysk 24.01.2011 11:00

Цитата:

Сообщение от Deicider (Сообщение 1002113)
volkovysk, откуда по-вашему вообще мог взяться реферер чужого домена?

Так вы ж не сказали что за скрипт и где он стоит.

Цитата:

Сообщение от Deicider (Сообщение 1002113)
А вообще, если вводить капчу через браузер и НЕ передавать при этом реферер, то всё работает.

Чем проверяли, Оперой? Пустой реферер браузера это совсем другое, чем например отсутствующий реферер скрипта. А antigate не пояснили как у вас припаян.

Цитата:

Сообщение от Deicider (Сообщение 1002113)
Проблема не в этом.

Проблема в совокупности поведенчески неправильно посылаемых запросов. Яндекс вас определяет как робота, а он не школьнегами стряпан и сопоставляет все параметры, в том числе и referer, с поведением запросов

zhegloff 24.01.2011 11:02

Цитата:

Сообщение от Deicider (Сообщение 1002116)
Но проблема 100% не в этом, потому что, если после ввода скриптом капчи прервать скрипт, взять урл из location-а, который получется при редиректе и ввести его в браузере ВООБЩЕ БЕЗ КУК, то браузер получает выдачу, какую надо, хотя тут уже явное палево, что как-минимум кук нет (или они не те), и юзер-агент другой.

Ну так попробуйте после ввода капчи не идти по редиректу, а подсунуть исходный урл.

volkovysk 24.01.2011 11:22

Deicider, А метод отправки расшифрованой капчи яндексу не забыли проверить гет или пост?

Добавлено через 11 минут
А временной промежуток между выдачей яндексом капчи и её водом учитывали в скрипте? Яндекс понимает, что человек за 2 милисекунды капчу не введёт.

Короче не для вашего уровня клепать роботов для высокотехнологичного яндекса.

Deicider 24.01.2011 11:53

Цитата:

Сообщение от volkovysk (Сообщение 1002118)
Чем проверяли, Оперой? Пустой реферер браузера это совсем другое, чем например отсутствующий реферер скрипта. А antigate не пояснили как у вас припаян.

Проблема в совокупности поведенчески неправильно посылаемых запросов. Яндекс вас определяет как робота, а он не школьнегами стряпан и сопоставляет все параметры, в том числе и referer, с поведением запросов

Блин, да в этом-то и загвоздка, что можно задать запрос в скрипте, а по урлу в редиректе заходить через браузер и всё будет ОК. Тут без всякий хитростей видно, что капчу давали одному клиенту, а получили ввод от совсем другого, и ничё, кушает.

zhegloff, после ввода капчи редирект ведет как раз на исходный урл, то есть на него мы и идем.

volkovysk, метод отарвки GET. Временной промежуток 10-15 секунд, быстрее ответ от антигейта и не приходит. И не надо переходить на личности и высказываться о моем уровне.

volkovysk 24.01.2011 12:23

Цитата:

Сообщение от Deicider (Сообщение 1002154)
И не надо переходить на личности и высказываться о моем уровне.

Ладно, пардон.
Короче чё гадать, скрипт надо в студию. На каком он языке писан?

Deicider 25.01.2011 10:59

Привожу фрагмент кода, который отвечает за получение страниц серпа. Для примера кокрентый поисковый запрос захардкоден. Код доступа к антигейту не палю. Если кто-то вызовется помочь со скриптом, но не имеет акка на антигейте, то могу скинуть в личку.

PHP код:

<?
require_once 'antigate.php'// взято отсюда -> http://antigate.com/curl.txt

$ch curl_init();

$query "Mercedes";

$url "http://yandex.ru/yandsearch?text=" $query ."&lr=213";

$page get_serp_page($url);


function 
get_serp_page($url)
{
    
$page get_webpage($url);
    if (
stripos($page'введите цифры с картинки') > 0)
        
$page break_captcha($page);    

    return 
$page;
}

function 
break_captcha($page)
{
    
$n preg_match_all("/name=\"key\" type=\"hidden\" value=\"([^\"]+)\"/"$page$matches);
    
$key $matches[1][0];

    
$n preg_match_all("/name=\"retpath\" type=\"hidden\" value=\"([^\"]+)\"/"$page$matches);
    
$retpath $matches[1][0];
    
    
$n preg_match_all("/<img src=\"([^\"]+)\"class=\"b-captcha__image\" /"$page$matches);
    
$captcha file_get_contents($matches[1][0]);
    
file_put_contents('ya_cap.gif'$captcha);
    
    
$text=recognize("ya_cap.gif","КОД ДОСТУПА",false,"antigate.com");
    
    echo 
"http://yandex.ru/checkcaptcha?key=$key&retpath=$retpath&rep=$text";

    
$page get_webpage("http://yandex.ru/checkcaptcha?key=$key&retpath=$retpath&rep=$text");
    
    if (
stripos($page'введите цифры с картинки') > 0)
    {
        echo 
"<br>Снова капча :-( <br>";
        exit();
    }

    
    return 
$page;
}


function 
get_webpage($url)
{
    global 
$ch;
    
curl_setopt($chCURLOPT_URL$url);
    
curl_setopt($chCURLOPT_USERAGENT'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.2) Gecko/20100115 Firefox/3.6');
    
curl_setopt($chCURLOPT_RETURNTRANSFERTRUE);
    
curl_setopt($chCURLOPT_TIMEOUT_MS'10000');
    
curl_setopt($chCURLOPT_FOLLOWLOCATIONTRUE);
    
curl_setopt($chCURLOPT_FRESH_CONNECTFALSE);
    
curl_setopt($chCURLOPT_AUTOREFERERTRUE);

    
$data curl_exec($ch);
    if (
$data)
        return 
$data;
    else
    return 
'CURL failed';
}

?>


Wink 25.01.2011 12:02

Deicider, $retpath кодировать в urlencode() надо, когда капчу отправляете. Ну и полученные куки сохранять само собой.

volkovysk 25.01.2011 13:15

Deicider, тебе яндекс всегда капчу заставляет вводить или как когда? А то я ща с локалхоста стал яндекс бомбить этим скриптом, он мне не предлагает. А urlencode() так это ясно надо.

Добавлено через 20 минут
... или $retpath уже обкодированый находится в форме input name="retpath" ?

coodix 25.01.2011 16:31

В свое была такая же проблема. Суть в том, что после ввода капчи Яндекс вешал куку и без нее как раз был такой эффект - постоянная капча.
Если говорить, о том что можно взять этот урл (который после рекогнайза капчи получается) и вставить в браузер и все заработает, то вот мнение: яндекс отличит, что запрос от другого "клиента" пришел. Не только по ip же ему классифицировать пользователей. В этом случае выходит, что и без капчи через браузер получится работать. (При том что с того же компа, скриптованные запросы будут получать ее)

Deicider 25.01.2011 17:37

Wink, volkovysk, retpath в форме уже урл-кодированный по самое нехочу ))

Насчет кук надо будет поглубже покопаться. Документация PHP говорит:
Цитата:

By default, libcurl always stores and loads all cookies
То есть вроде как все куки должны приниматься и передаваться как положено. Надо будет поснифать траф, и посмотреть, как оно там на самом деле происходит. Может быть, libcurl всё-таки не совсем правильно с куками работает.

Добавлено через 40 минут
Изучение http-заголовков показало, что при вводе капчи действительно устанавливается дополнительная кука (кука по имени "spravka", см. код). Теперь нужно проверить, передает ли эту куку КУРЛ.

Код:

http://yandex.ru/yandsearch?p=32&text=sony&text=213&lr=213

GET /yandsearch?p=32&text=sony&text=213&lr=213 HTTP/1.1
Host: yandex.ru
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13 (.NET CLR 3.5.30729)
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://yandex.ru/yandsearch?p=31&text=sony&text=213&lr=213
Cookie: t=p; yandexuid=5055334331295965359

HTTP/1.1 302 Found
Via: 1.1 MSK01AN016S
Connection: close
Proxy-Connection: close
Location: http://yandex.ru/showcaptcha?retpath=http%3A//yandex.ru/yandsearch%3Fp%3D32%26text%3Dsony%26text%3D213%26lr%3D213&t=03723d02215ac748d062f4d16125203fb&
----------------------------------------------------------
http://yandex.ru/showcaptcha?retpath=http%3A//yandex.ru/yandsearch%3Fp%3D32%26text%3Dsony%26text%3D213%26lr%3D213&t=03723d02215ac748d062f4d16125203fb&

GET /showcaptcha?retpath=http%3A//yandex.ru/yandsearch%3Fp%3D32%26text%3Dsony%26text%3D213%26lr%3D213&t=03723d02215ac748d062f4d16125203fb& HTTP/1.1
Host: yandex.ru
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13 (.NET CLR 3.5.30729)
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://yandex.ru/yandsearch?p=31&text=sony&text=213&lr=213
Cookie: t=p; yandexuid=5055334331295965359

HTTP/1.1 200 OK
Via: 1.1 MSK01AN016S
Connection: Keep-Alive
Proxy-Connection: Keep-Alive
Content-Length: 8564
----------------------------------------------------------
http://yandex.ru/captcha/_index.css

GET /captcha/_index.css HTTP/1.1
Host: yandex.ru
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13 (.NET CLR 3.5.30729)
Accept: text/css,*/*;q=0.1
Accept-Language: ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://yandex.ru/showcaptcha?retpath=http%3A//yandex.ru/yandsearch%3Fp%3D32%26text%3Dsony%26text%3D213%26lr%3D213&t=03723d02215ac748d062f4d16125203fb&
Cookie: t=p; yandexuid=5055334331295965359
If-Modified-Since: Tue, 18 Jan 2011 16:42:20 GMT

HTTP/1.1 200 OK
Via: 1.1 MSK01AN016S
Connection: Keep-Alive
Proxy-Connection: Keep-Alive
Content-Length: 9705
Content-Type: text/css
Last-Modified: Tue, 18 Jan 2011 16:42:20 GMT
----------------------------------------------------------
http://u.captcha.yandex.net/image?key=40CWWLTBioEIj9IdJc2zpfP1I3lq9BWx

GET /image?key=40CWWLTBioEIj9IdJc2zpfP1I3lq9BWx HTTP/1.1
Host: u.captcha.yandex.net
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13 (.NET CLR 3.5.30729)
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://yandex.ru/showcaptcha?retpath=http%3A//yandex.ru/yandsearch%3Fp%3D32%26text%3Dsony%26text%3D213%26lr%3D213&t=03723d02215ac748d062f4d16125203fb&

HTTP/1.1 200 OK
Via: 1.1 MSK01AN016S
Connection: Keep-Alive
Proxy-Connection: Keep-Alive
Transfer-Encoding: chunked
Date: Tue, 25 Jan 2011 14:27:29 GMT
Content-Type: image/gif
Server: nginx
----------------------------------------------------------
http://yandex.ru/favicon.ico

GET /favicon.ico HTTP/1.1
Host: yandex.ru
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13 (.NET CLR 3.5.30729)
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Cookie: t=p; yandexuid=5055334331295965359

HTTP/1.1 302 Found
Via: 1.1 MSK01AN016S
Connection: Keep-Alive
Proxy-Connection: Keep-Alive
Content-Length: 238
Date: Tue, 25 Jan 2011 14:27:29 GMT
Location: http://yandex.st/lego/_/pDu9OWAQKB0s2J9IojKpiS_Eho.ico
Content-Type: text/html; charset=iso-8859-1
Server: Apache/2.2.9 (Unix) mod_perl/2.0.4 Perl/v5.8.8
Vary: Accept-Encoding
----------------------------------------------------------
http://yandex.ru/favicon.ico

GET /favicon.ico HTTP/1.1
Host: yandex.ru
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13 (.NET CLR 3.5.30729)
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Cookie: t=p; yandexuid=5055334331295965359

HTTP/1.1 302 Found
Via: 1.1 MSK01AN016S
Connection: Keep-Alive
Proxy-Connection: Keep-Alive
Content-Length: 238
Date: Tue, 25 Jan 2011 14:27:59 GMT
Location: http://yandex.st/lego/_/pDu9OWAQKB0s2J9IojKpiS_Eho.ico
Content-Type: text/html; charset=iso-8859-1
Server: Apache/2.2.9 (Unix) mod_perl/2.0.4 Perl/v5.8.8
Vary: Accept-Encoding
----------------------------------------------------------
http://yandex.ru/checkcaptcha?key=40CWWLTBioEIj9IdJc2zpfP1I3lq9BWx_03723d02215ac748d062f4d16125203fb_62afd8464b3952fe92b9f24205027ed2&retpath=http%253A%2F%2Fyandex.ru%2Fyandsearch%253Fp%253D32%2526text%253Dsony%2526text%253D213%2526lr%253D213&rep=624662

GET /checkcaptcha?key=40CWWLTBioEIj9IdJc2zpfP1I3lq9BWx_03723d02215ac748d062f4d16125203fb_62afd8464b3952fe92b9f24205027ed2&retpath=http%253A%2F%2Fyandex.ru%2Fyandsearch%253Fp%253D32%2526text%253Dsony%2526text%253D213%2526lr%253D213&rep=624662 HTTP/1.1
Host: yandex.ru
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13 (.NET CLR 3.5.30729)
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://yandex.ru/showcaptcha?retpath=http%3A//yandex.ru/yandsearch%3Fp%3D32%26text%3Dsony%26text%3D213%26lr%3D213&t=03723d02215ac748d062f4d16125203fb&
Cookie: t=p; yandexuid=5055334331295965359

HTTP/1.1 302 Found
Via: 1.1 MSK01AN016S
Connection: close
Proxy-Connection: close
Location: http://yandex.ru/yandsearch?p=32&text=sony&text=213&lr=213
Set-Cookie: spravka=dD0xMjk1OTY1Njg4O2k9ODIuMTQyLjE1MC4yNTA7dT0xMjk1OTY1Njg4NDgzNjE3Nzg4O2g9MzU4YWU4Yjk5ZTQxZjE2ODdkZjg0MmE0N2E4OGQyOTY=; domain=yandex.ru; path=/; expires=Thu, 24-Feb-2011 14:28:08 GMT
----------------------------------------------------------
http://yandex.ru/yandsearch?p=32&text=sony&text=213&lr=213

GET /yandsearch?p=32&text=sony&text=213&lr=213 HTTP/1.1
Host: yandex.ru
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13 (.NET CLR 3.5.30729)
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://yandex.ru/showcaptcha?retpath=http%3A//yandex.ru/yandsearch%3Fp%3D32%26text%3Dsony%26text%3D213%26lr%3D213&t=03723d02215ac748d062f4d16125203fb&
Cookie: t=p; yandexuid=5055334331295965359; spravka=dD0xMjk1OTY1Njg4O2k9ODIuMTQyLjE1MC4yNTA7dT0xMjk1OTY1Njg4NDgzNjE3Nzg4O2g9MzU4YWU4Yjk5ZTQxZjE2ODdkZjg0MmE0N2E4OGQyOTY=

HTTP/1.1 200 OK
Via: 1.1 MSK01AN016S
Connection: Keep-Alive
Proxy-Connection: Keep-Alive
Transfer-Encoding: chunked
Expires: Tue, 25 Jan 2011 15:28:08 GMT
Date: Tue, 25 Jan 2011 14:28:08 GMT
Content-Type: text/html; charset=utf-8
Server: Apache/2.2.9 (Unix) mod_perl/2.0.4 Perl/v5.8.8
Cache-Control: private, max-age=3600
Vary: Accept-Encoding


volkovysk 25.01.2011 18:14

точно, яндекс падла с сзади как ножом в спину куку spravka подсовывает. Deicider, попробуй теперь с помощью CURLOPT_COOKIE обработать.

Добавлено через 10 минут
Да я понял, скорей всего, у тебя курл не реагировал на установку куки spravka, в результате чего терялась имитация браузера (нормальный браузер регирует , он отказ шлёт, если выключить приём кукиес). Тебе надо эту куки принять и например так curl_setopt($ch, CURLOPT_COOKIE, $cookie) куку посслать дальше яндексу.

Deicider 26.01.2011 14:22

Собственно, подозрения подтвердились. Просмотр с помощью CURLINFO_HEADER_OUT сделанных курлом запросов показал, что ни хрена никакие куки не передаются. Пришлось немного заморочиться. Я доработал эту функцию, чтобы она сохраняла и передавала куки, и проблема решилась. Правда, яша выдает капчу на каждый запрос серпа (в браузере же капча вновь появляется только после 30-50 запросов), но при текущих тарифах на антигейт это пустяки.

Теперь возникает вопрос, а не взбредёт ли Яшке в голову пессимизировать мой сайт, висящий на ip, с которого я буду атаковать его этим роботом.


Часовой пояс GMT +3, время: 12:01.

Работает на vBulletin® версия 3.8.7.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
SAPE.RU — система купли-продажи ссылок с главных и внутренних страниц сайтов.