Скрипты

coincompare-v1-4-мониторинг-статистики-криптовалют CoinCompare - это веб-приложение PHP, которое отображает общую информацию, интерактивные исторические диаграммы для более чем 1700 криптовариантов. Он...
josh-шаблон-для-разработки-на-laravel Josh Admin - это шаблон для разработчика, основанный на Laravel 5. Создайте ваш следующий проект на Laravel. Используйте эту тему и сохраните свое...
social-network-система-социальных-сетей Социальная сеть - PHP Social Networking System - мощный PHP-скрипт, разработанный, чтобы позволить вам создать свою собственную социальную сеть! Он...

Для Photoshop

animation-glitch-photoshop-action Action для программы Photoshop, который генерирует видео ряд анимационных эффектов в виде помех на экране, из ваших изображений. Вы можете создать...
radiant-action-photoshop Экшен для программы Photoshop, создаёт эффект света и геометрических фигур, что поможет создать стильный модный вид вашему образу. Создавайте яркие и...
doomsday-action-экшен-для-photoshop Экшен для программы Photoshop, создаёт потрясающий эффект драматизма с глубокими тенями и световым контрактом. Отлично подойдёт при создании рекламных...

Проверка доменного имени

514071616

 

В этом уроке я покажу как создать скрипт проверки, свободен домен или нет. В примере проводиться проверка только в зоне RU но вы можете дописать скрипт для тех доменных зон которые вас интересуют .
k_prim2

Для начала пройдёмся по основам. Если Вы хотите проверить занят ли домен, вам нужно оправить запрос на Whois сервер, который содержит регистрационные данные проверяемого домена в зоне домена верхнего уровня (Top-Level Domain, TLD). В общем все TLD имеют свой сервер например для RU это whois.ripn.net для COM whois.crsnic.net. Вот и в нашем скрипте мы будем отправлять запрос на Whois сервер который вернёт нам ответ зарегистрирован домен или нет.

Приступим к написанию кода.

Напишем функцию которая будет соединяться с сервером Whois, посылать запрос  о домене и возвращать ответ.

<?php
function checkDomain($domain,$server,$findText){
// Подключаемся к серверу через 43 порт
$con = fsockopen($server, 43);
if (!$con) return false;
 
// Отправляем название домена
fputs($con, $domain."\r\n");
 
// Получение и сохранения ответа от сервера
$response = ' :';
while(!feof($con)) {
$response .= fgets($con,128);
}
 
// Закрываем соединение
fclose($con);
 
if (strpos($response, $findText)){
return true;
}
else {
return false;
}
}
?>
 

Теперь когда у нас есть функция проверки домена, создадим HTML страницу с формой, которая содержит поле ввода.

Код HTML со встроенным обработчиком формы выглядит следующим образом:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
<html>
<body>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" name="domain">
Введите имя домена:
<table>
<tr><td><input name="domainname" type="text" /></td></tr>
<tr><td><input type="checkbox" name="ru" checked/>.Ru</td></tr>
<tr><td><input type="submit" name="submitBtn" value="Проверить домен"/></td></tr>
</table>
</form>
<?php
// Проверяем отправлена ли форма
if (isset($_POST['submitBtn'])){
$domainbase = (isset($_POST['domainname'])) ? $_POST['domainname'] : '';
$d_ru = (isset($_POST['ru'])) ? 'ru' : '';
 
//Проверяем домен только если введено больше 2 символов
if (strlen($domainbase)>2){
echo '<table width="100%">';
if ($d_ru != '')
showDomainResult($domainbase." .ru ",' whois.ripn.net ',' No entries found for the selected source(s) ');
echo '</table>';
}
}
?>
</body>
 

Здесь вызваться ещё одна функция showDomainResult которая вызывает основную функцию и выводит результат в строке таблицы.

showDomainResult функция выглядит следующим образом:

 

<?php
function showDomainResult($domain,$server,$findText){
if (checkDomain($domain,$server,$findText)){
echo "<tr><td>$domain</td><td>Свободен</td></tr>";
}
else echo "<tr><td>$domain</td><td>Занят</td></tr>";
}
?>
 

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

Вот сервера для разных доменных зон

name | whois.nic.name | No match |
info | whois.afilias.net | NOT FOUND |
ws | whois.worldsite.ws | No match for |
us | whois.nic.us | Not found: |
biz | whois.neulevel.biz | Not found: |
tv | whois.nic.tv | No match for |
in | whois.inregistry.net | NOT FOUND |
co.in | whois.inregistry.net | NOT FOUND |
mobi | whois.dotmobiregistry.net | NOT FOUND |
it | whois.nic.it | Status: AVAILABLE |
nu | whois.nic.nu | NO MATCH for domain |
eu | whois.eu | Status: FREE |
be | whois.dns.be | No domains found containing |
ru | whois.ripn.net | No entries found for the selected source(s). |
ua | whois.com.ua | % No entries found for domain |
com.ua | whois.com.ua | % No entries found for domain |
kiev.ua | whois.com.ua | % No entries found for domain |
org.ua | whois.com.ua | % No entries found for domain |
net.ua | whois.com.ua | % No entries found for domain |
in.ua | whois.com.ua | % No entries found for domain |
cc | whois.nic.cc | No match |
cn | whois.cnnic.net.cn | no matching record |
com.cn | whois.cnnic.net.cn | no matching record |
de | whois.denic.de | free |
uz | whois.cctld.uz | not found in database |
kz | whois.nic.kz | Nothing found for this query. |
 

Полный код скрипта:

<?php
function checkDomain($domain,$server,$findText){
 
$con = fsockopen($server, 43);
if (!$con) return false;
 
 
fputs($con, $domain."\r\n");
 
 
$response = ' :';
while(!feof($con)) {
$response .= fgets($con,128);
}
 
 
fclose($con);
 
 
if (strpos($response, $findText)){
return true;
}
else {
return false;
}
}
 
function showDomainResult($domain,$server,$findText){
if (checkDomain($domain,$server,$findText)){
echo "<tr><td>$domain</td><td>Свободен</td></tr>";
}
else echo "<tr><td>$domain</td><td>Занят</td></tr>";
}
?>
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Проверка доменного имени в зоне RU </title>
</head>
<body>
<form class="form" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" name="domain">
Введите имя домена:
<table>
<tr><td><input name="domainname" type="text" /></td></tr>
<tr><td><input type="checkbox" name="ru" checked/>.ru</td></tr>
<tr><td><input type="submit" name="submitBtn" value="Проверить"/></td></tr>
</table>
</form>
<?php
 
if (isset($_POST['submitBtn'])){
$domainbase = (isset($_POST['domainname'])) ? $_POST['domainname'] : '';
$d_ru = (isset($_POST['ru'])) ? 'ru' : '';
 
 
if (strlen($domainbase)>2){
echo '<table>';
if ($d_ru != '')
showDomainResult($domainbase.".ru ",'whois.ripn.net','No entries found for the selected source(s)');
echo '</table>';
}
}
 
?>
</body>
</html>
 
 
 
 

 

 

Посмотреть

  1. Комментарии (0)

  2. Add Yours

Комментарии (0)

Комментарии отсутствуют

Оставьте свой комментарий

Оставить комментарий в качестве гостя. Зарегистрироваться либо авторизоваться.
Вложения (0 / 3)
Поделиться вашим местоположением

Векторная графика

плашки-для-рекламных-текстов Набор ярких плашек для рекламных текстов в векторном формате, которые значительно выделят ваш текст на общем фоне. Формат файлов: AI / EPS /...
start-up-rockets-–-ракеты-в-векторе Набор векторных изображений, разного вида летящих ракет. Можно использовать при создании анимации и рекламных баннеров. Формат файлов:...
pop-art-man-векторные-мужчин-в-стиле-поп-арт Набор изображений в векторном формате, яркие иллюстрации мужчин в модном стиле поп арт, отлично подойдёт при создании рекламных баннеров. Формат...

Растовая графика

атлетика-и-бодибилдинг-–-фото-клипарт Набор из 32 изображений высокого качества на тему атлетики и бодибилдинга. Отлично подойдут для рекламных флаеров, баннеров и слайдеров на сайтах...
интернет-технологии,компьютер,гаджеты-–-фото-клипарт Набор из 25 изображений высокого качества, различные интернет технологии, компьютеры, гаджеты. Отлично подойдет для слайд-шоу. Размер 4800 на 3200 px....
бизнес-леди-–-набор-фото-клипарта Набор из 15 изображений высокого качества с красивой блондинкой, бизнес-леди. Эти изображения отлично подойдут для использования в презентациях,...