كيف يمكنني استخدام روبي للتحقق مما إذا كان هناك مجال؟

StackOverflow https://stackoverflow.com/questions/2695020

سؤال

شيء على غرار:

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

puts "valid!" if domain_exists?("example.com")
هل كانت مفيدة؟

المحلول

إذا كنت ترغب في التحقق مما إذا كان المجال مسجلًا أم لا ، فأنت بحاجة إلى إجراء استعلام Whois.http://www.ruby-whois.org/

نصائح أخرى

require 'socket'

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

  true
end

مع Ruby-Whois سهل جدًا:

تثبيت جوهرة وتتطلب.

a = whois.whois ("Google.com")

A.Availivation؟ => خطأ

هناك أيضًا CLI مجمعة إذا قمت بتثبيته عبر Ruby Gems: Ruby-Whois

صفحة الويب على: روبي-وويس

يمكنك التخلص من nslookup مثل هذا:

`nslookup #{domain}`

وتحليل النتائج كنص مع regexes إلخ.

أو يمكنك استخدام قابس كهرباء فئة ، على وجه التحديد socket.getaddrinfo. انظر السابق stackoverflow إجابة على هذا السؤال بالذات.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top