class Aquatone::Collectors::Dnsdb
Constants
- INDEX_REGEX
- LINK_REGEX
Public Instance Methods
run()
click to toggle source
# File lib/aquatone/collectors/dnsdb.rb, line 13 def run @base_url = "http://www.dnsdb.org/f/#{url_escape(domain.name)}.dnsdb.org/" parse_page(@base_url) end
Private Instance Methods
extract_hosts(body)
click to toggle source
# File lib/aquatone/collectors/dnsdb.rb, line 36 def extract_hosts(body) body.scan(LINK_REGEX) do |href, hostname| if hostname.end_with?(".#{domain.name}") add_host(hostname) end end end
parse_page(url)
click to toggle source
# File lib/aquatone/collectors/dnsdb.rb, line 20 def parse_page(url) response = get_request(url) if response.code != 200 failure("DNSDB returned unexpected response code: #{response.code}") end if response.body.include?("index for") response.body.scan(INDEX_REGEX) do |index| response = get_request("#{@base_url}#{url_escape(index.first)}") extract_hosts(response.body) end else extract_hosts(response.body) end end