Question

Something along the lines of:

def domain_exists?(domain)
  # perform check
  # return true|false
end

puts "valid!" if domain_exists?("example.com")
Was it helpful?

Solution

If you want to check whether a domain is registered or not, then you need to perform a Whois query. http://www.ruby-whois.org/

OTHER TIPS

require 'socket'

def domain_exists?(domain)
  begin
    Socket.gethostbyname(domain)
  rescue SocketError
    return false
  end

  true
end

With ruby-whois is pretty easy:

Install gem and require.

a = Whois.whois("google.com")

a.available? => false

There is also a CLI bundled if you install it via ruby gems: ruby-whois

web page at: ruby-whois.org

You could shell out to nslookup like this:

`nslookup #{domain}`

and parse the results as text with regexes etc.

Or you can use the Socket class, specifically Socket.getaddrinfo. See previous StackOverflow answer on this very question.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top