Я хочу создать что-то, что делает запрос WHOIS, чтобы узнать, доступен ли домен. Сейчас я нашел довольно много готовых скриптов для этого, но все они вроде одинаковы в том, что нужно указать базу, а потом выбрать какие расширения нужны и он это сделает (так например , введите «test», проверьте .com, и он проверит, доступен ли test.com)
Тем не менее, я пытаюсь сделать что-то немного другое. Я хочу, чтобы он проверял, ввел ли пользователь только базовый или полный URL-адрес, а затем выполнял один или несколько запросов соответственно. Пример:
Если пользователь вводит «test», я хочу, чтобы скрипт проверял наличие test.com, test.org, test.net и т. д. Если пользователь вводит «test.com», я хочу, чтобы скрипт проверял ТОЛЬКО test.com .
Я действительно не знаю, на чем основываться, но скрипт PHP Whois Майка Нотта а> выглядит нормально. Конечно, предложения всегда приветствуются.
Теперь я предполагаю, что поток сценария должен выглядеть примерно так:
- Пользователь вводит запрос
- Скрипт проверяет наличие пробелов
- Скрипт проверяет, ввел ли пользователь только базовое или полное доменное имя (я предполагаю, что способ сделать это - проверить, есть ли там точка)
- Если пользователь ввел полное доменное имя, разделите базу и TLD и сохраните их оба в переменных и где-нибудь сохраните «статус» ($full = true/false)
- if ($full = true) {проверить соответствующие серверы whois для $base.com, $base.net и т. д.};
- if ($full != true) {посмотрите, какой сервер подходит для $tld, и проверьте его для $base.$tld}
- Выходные результаты
Конечно, если уже есть скрипт, который это делает, дайте мне знать.
Редактировать: Просто чтобы вы знали, я могу делать простые операторы if и тому подобное, но шаги 3, 4, 5 и 6 в моем «рабочем процессе» — это части, которые я не могу понять.
Редактировать 2: Спасибо за все ваши ответы, ребята! Теории Маркуса Адама действительно верны. Мой реселлер доменов (парни, у которых я получаю свои домены) не предлагает TLD второго уровня, такие как .co.uk, так что это не проблема. Они также не поддерживают IDN.
Из ваших ответов, ребята, я пришел к выводу, что функция взрыва используется для разделения доменного имени. Однако что будет делать взрыв, когда он столкнется с несколькими точками? Я предполагаю, что это просто добавит еще одну запись в массив, но это вызовет проблемы. Потому что, если пользователь затем вводит (например) домен, оканчивающийся на .co.uk, сценарий примет «co» в качестве TLD.
Проверка наличия более 2 строк в массиве также не вариант (я думаю), потому что, если пользователь затем вводит «sub.domain.com», сценарий примет «sub» в качестве базы и «domain.com» в качестве ДВУ.
Кроме того, Маркус Адамс, вы говорите, что если сервер whois показывает «доступен», это не гарантирует, что он доступен, и я должен запросить у регистратора. Но как бы я это сделал? Любые идеи?
Спасибо, парни :)
Of course, if there's a script that does this already, let me know.
Бьюсь об заклад, да есть - person Martin.   schedule 24.11.2011