Ruby Resolv Lookup просматривает массив URL-адресов

Здесь довольно новый программист, и я целую неделю взламывал и гуглял в этом.

Вот логика того, что я пытаюсь сделать:

Введите.txt файл URL-адресов и обрежьте эти URL-адреса до корневого домена. Затем проверьте, существует ли запись DNS для этих корневых доменов. Затем выполните поиск whois на доменах без записи DNS. Затем распечатайте доступные домены.

Вторая часть этого - проверка DNS-записей - сильно озадачила меня.

Вот мой код:

    # encoding: utf-8
require 'domainatrix'
require 'addressable/uri'
#require 'Whois'
require 'Resolv'

urls = Array.new
cleaned = Array.new

urls = File.readlines(*ARGV)

urls.each do |url|
  url = url.to_s
  url = Domainatrix.parse(url)
  cleaned << url.domain_with_tld
end

cleaned.uniq!

# puts cleaned

cleaned.each do |url|
  url = url.to_s
  Resolv.getaddress(url)
end

Когда я запускаю это с простым файлом test.txt из 10 URL, я получаю сообщение об ошибке, подобное этому:

/usr/local/rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/Resolv.rb:93:in `getaddress': no address for google.com (Resolv::ResolvError)
        from /usr/local/rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/Resolv.rb:43:in `getaddress'
        from rocker_two.rb:26:in `block in <main>'
        from rocker_two.rb:24:in `each'
        from rocker_two.rb:24:in `<main>'

Теперь, если я перепрыгну через irb и сделаю что-то простое:

>> Resolv.getaddress "google.com"
=> "173.194.43.4"

Работает нормально.

Мне кажется, проблема в том, чтобы заставить Resolv принимать каждый объект в массиве как строку? Я говорю это, потому что сообщение об ошибке, которое я получаю при запуске файлового скрипта, не содержит google.com в кавычках, тогда как другие варианты этого скрипта, которые я пробовал, выдают сообщение об ошибке с кавычками.

Да, тем не менее, это, вероятно, Приложение А для программирования культа грузов.

Я понимаю, что я новичок, и, возможно, я совершаю простую системную ошибку. Так что, если бы кто-то мог просто указать мне правильное направление для выбора правильного пути, я был бы очень, очень признателен!

Ура, Кайл

PS Долгое время ТАК читатель, впервые звонящий.

0 ответов

Другие вопросы по тегам