[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Whios
МакSим
Здравствуйте! Хочу сделать у себя на сайте сервис по проверки домена (данные о владельце сайта). Помогите мне пожалуйста с php кодом?
Нужно написать парсер. Данные будут браться с www.whois-service.ru.

А пока я написал html запрос

whios.html:
HTML
<head>
<style type="text/css" media="all">
@import url(style.css);
</style>
</head>

<table width="100%" border="5" cellspacing="5" cellpadding="5">
<tr>
<td bgcolor="#00b2ed">
<b>Whois-сервис</b> — это сервис для проверки доменов. Введите любое имя сайта в поисковую строку, и узнаете, свободен домен или занят. Если доменное имя уже занято, можно узнать, кто его владелец и как с ним связаться. Работает удобный подбор доменов: после включения режима «история запросов» видны все доменные имена, которые вы уже искали. Если при проверке у вас возникнет желание купить домен, некоторые сервисы регистрации доменов перечислены на этой странице справа. Поиск имени для сайта и сервис подбора доменов доступны для доменных имен России, стран СНГ, международных и национальных доменных зон.
<p>&nbsp;</p>
</td>
</tr>
<tr>
<td bgcolor="#00c0ff">
<span class="todo"><center>Введите желаемое доменное имя<br />вида 'name.zone':</center></span>
<br />
<center><input type="text" name="domain" class="w" />&nbsp;&nbsp;&nbsp;<a href="/" class="arrow" alt="Whois" onclick="document.forms[0].submit(); return false;">&rarr;</a>&nbsp;&nbsp;&nbsp;</nobr><br /><br />
<span class="tips"><input type="checkbox" name="saved" id="saved" value="yes"/><label for="saved">&nbsp;Показывать мне историю запросов</label></span><input type="hidden" name="real" value="true2.1" /></center>
</td>
</tr>
</table>


и style.css:

HTML
.todo {
font-family: "Times New Roman";
color: #676767;
font-style:bold;
font-size: 18px;
line-height: 20px;
}

.w {
width: 400px;
font-family: Courier New;
font-size: 16px;
color: #000000;
}

a.arrow, a:visited.arrow {
font-size: 24px;
font-family: "Arial";
color: #ff3300;
text-decoration: none;
}


===

Пока это не всё, ведь после запроса нужно ещё сделать и вывод. Но это позже, т.к. нужнен парсер.



Спустя 2 часа, 49 минут, 50 секунд (28.06.2009 - 09:08) Kuliev написал(а):
Цитата

А пока я написал html запрос

laugh.gif

Спустя 5 часов, 25 минут, 11 секунд (28.06.2009 - 14:33) glock18 написал(а):
Да, "html-запрос" звучит по-новому smile.gif
МакSим, я, кажется, где-то видел вашу тему по поводу "подскажите что мне делать, чтобы научиться". ну так вот делайте. не знаете как - читайте мою подпись smile.gif
по-моему, очень разумная мысль (собственно если бы так не думал, то не поставил).

Спустя 4 часа, 16 минут, 53 секунды (28.06.2009 - 18:50) twin написал(а):
А зачем парсить парсер? Не проще ли свой написать скрипт проверки?

Спустя 57 минут, 29 секунд (28.06.2009 - 19:47) waldicom написал(а):
Или воспользоваться уже готовыми классами (PEAR или phpclasses)

Спустя 11 часов, 39 минут, 42 секунды (29.06.2009 - 07:27) МакSим написал(а):
Цитата (glock18 @ 28.06.2009 - 11:33)
Да, "html-запрос" звучит по-новому smile.gif

Да я просто на кибер языке - не силён, как думаю, так и пишу wink.gif

Как понимать парсер парсера? Ведь тот сайт не на парсере сидит...
Ну а как сделать что-бы - СДЕЛАТЬ? Можете помочь? кто-нибудь sad.gif

Спустя 13 минут, 48 секунд (29.06.2009 - 07:41) twin написал(а):
Цитата
Ведь тот сайт не на парсере сидит...
Именно на нем.
Цитата
Ну а как сделать что-бы - СДЕЛАТЬ?

Написали ведь:
Цитата
воспользоваться уже готовыми классами (PEAR или phpclasses)
ну а если сложно, могу конечно расписать скриптик по проще

Спустя 1 час, 51 минута, 48 секунд (29.06.2009 - 09:32) МакSим написал(а):
twin, если не в лом, помогите, а?
Очень прошу! Я в php непонимаю =(( только в html и css

Спустя 10 минут, 20 секунд (29.06.2009 - 09:43) stepan написал(а):
Цитата (МакSим @ 29.06.2009 - 06:32)
Я в php непонимаю =(( только в html и css

Изучи т.к. все жизнь за тебя писать ни кто не будет, да и twin'у больше делать нечего как медвежей услугой заниматься, я думаю что он тебе лишь алгоритм распишит, а вот ручками писать предется самаму, либо как быдлокодер учись программировать мышкой т.е. копировать - вставить. ph34r.gif

Спустя 54 минуты, 54 секунды (29.06.2009 - 10:38) МакSим написал(а):
Цитата (stepan @ 29.06.2009 - 06:43)
учись программировать мышкой т.е. копировать - вставить.  ph34r.gif

Что-бы копировать, вставить - нужно тоже знать - как.

Спустя 9 минут, 25 секунд (29.06.2009 - 10:47) glock18 написал(а):
МакSим
ctrl-C + ctrl-V

или ctrl-insert + shift-insert smile.gif

Спустя 6 минут, 3 секунды (29.06.2009 - 10:53) stepan написал(а):
уже опередили ну да ладно
Цитата (МакSим @ 29.06.2009 - 07:38)
Что-бы копировать, вставить - нужно тоже знать - как.

Могу подсказать есть два способа:
- спомощью консольного меню
- Ctrl+C и Ctrl+V

Спустя 59 минут, 4 секунды (29.06.2009 - 11:52) Kuliev написал(а):
Цитата (glock18 @ 29.06.2009 - 12:47)
МакSим
ctrl-C + ctrl-V

или ctrl-insert + shift-insert smile.gif

laugh.gif

Спустя 48 минут, 51 секунда (29.06.2009 - 12:41) twin написал(а):
Алгоритм на самом деле до безумия прост. Делается форма, примерно как у тебя, потом на сервере принимаем значение из текстового поля.
PHP
$domain = !empty($_POST['domain'])?$_POST['domain']:NULL;

Разбираем его, что бы узнать первый уровень:
PHP
$first substr($domainstrpos($domain".") + 1);

Дальше нужен список всех тех whois-серверов, которые нужны для проверки. И фраз, которые они выдают при пустом домене. Лучше всё сразу поместить в один массив
PHP
$servers = array(
'ru' => array('whois.ripn.ru','No entries found'),
'com' => array('whois.verisign-grs.net','No match'),
'org' => array('whois.verisign-grs.net','No match'),
'net' => array('whois.verisign-grs.net','No match'),
'следующий' => array('whois.какой-то-еще.тд','Нет такого')
);

Потом вынимаешь нужную запись
PHP
$whois $servers[$first];

и пошли танцы с бубном:

PHP
//Проверяешь, есть ли в списке

    
if(is_array($whois))
    {
    
// Формируешь запрос
        
if($fp = @fsockopen($whois[0], 43))
        {
        
fputs($fp$domain."\r\n");
        
$answer '';
    
// Получаешь ответ
            
while(!feof($fp))
            
$answer .= fgets($fp,128);
            
        
fclose($fp);
    
// Смотришь, есть такая фраза, чи не.    
            
if(!preg_match('#'.$whois[1].'#ui'$answer))
            echo 
"Ваши кони тихо скачут";
            else
            echo 
"Повезло. Быстрее регай, пока ни кто не видел!";
        }
        else
        {
        echo 
'Сервер, гад, зажал ответ.';
        }
 
    }
    else
    {
    echo 
'Нет такого в списке';
    }
}
//Вуаля

Осталось тебе собрать список нужных whois-серверов и их дежурных фраз.
Ну и ctrl-C + ctrl-V biggrin.gif




Спустя 17 минут, 12 секунд (29.06.2009 - 12:58) МакSим написал(а):
Цитата (stepan @ 29.06.2009 - 07:53)
уже опередили ну да ладно
Цитата (МакSим @ 29.06.2009 - 07:38)
Что-бы копировать, вставить - нужно тоже знать - как.

Могу подсказать есть два способа:
- спомощью консольного меню
- Ctrl+C и Ctrl+V

mad.gif да причём здесь "это"?

Я имею ввиду - скопировать и вставить код - который нужен - что-бы функцианировал как надо!!!

Спустя 23 минуты, 52 секунды (29.06.2009 - 13:22) stepan написал(а):
Цитата (МакSим @ 29.06.2009 - 09:58)
Я имею ввиду - скопировать и вставить код - который нужен - что-бы функцианировал как надо!!!

Таких мало, да и вообще не занимайся этой самодеятельностью лучше пиши сам.

Спустя 1 час, 50 минут, 30 секунд (29.06.2009 - 15:13) МакSим написал(а):
twin, не, я не понимаю sad.gif
Как тут, что тут...
Моск сварился dry.gif

Спустя 13 минут, 47 секунд (29.06.2009 - 15:26) stepan написал(а):
Цитата (МакSим @ 29.06.2009 - 12:13)
Моск сварился

Значит рано тебе еще этим заниматься, ты азы не знаеш а пытаешся сделать уже парсер, разберай по строчно что за функция, для чего она нужна. Гугл тебе поможет. cool.gif

Спустя 19 минут, 48 секунд (29.06.2009 - 15:46) glock18 написал(а):
МакSим
прошло 2.5 часа с момента, когда twin запостил сообщение. ты думал, что у тебя уже все будет работать?

Спустя 35 минут, 49 секунд (29.06.2009 - 16:22) twin написал(а):
Цитата
twin, не, я не понимаю 
Как тут, что тут...

Спрашивай по порядку, что не понимаешь.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.