Проверка URL для имени хоста - PullRequest
0 голосов
/ 26 марта 2012

Я пытаюсь оценить отправленные пользователем URL-адреса, чтобы выяснить, содержат ли они допустимые имена хостов (форматирование) и, если да, извлечь имя хоста.Знаете какие-нибудь библиотеки / методы, которые могут помочь?

Пример:

user_input = "www.google.com"

if user_input.has_valid_host?
  hostname = user_input.get_hostname #=> "google.com"
  url = "http://" + @hostname #=> "http://google.com"
else 
  puts "Invalid URL"
end

Этот пример очень прост, но мне нужно проверить URL для всех допустимых расширений домена и имя хоста, извлеченное из любой строки (при условии, что она присутствует)

1 Ответ

1 голос
/ 26 марта 2012

Я не знаю ruby, но я бы не думал об этом как о вопросе ruby.

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

Затем я бы сделал системный вызов подпрограммы nslookup .

В системе Windows из командной строки это nslookup.

C:\Users\xyz>nslookup www.google.com
Server:  UnKnown
Address:  192.168.237.2

Name:    www.l.google.com
Address:  173.194.73.99
Aliases:  www.google.com.localdomain

Из Ruby вы должны выполнять вызов API вместо использования командной строки, но в конечном итоге оба будут взаимодействовать со службой DNS на локальном компьютере.

См .: Isесть хорошая библиотека DNS сервера в ruby?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...