كيف يمكنني استخدام روبي للتحقق مما إذا كان هناك مجال؟
-
01-10-2019 - |
سؤال
شيء على غرار:
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 إجابة على هذا السؤال بالذات.
لا تنتمي إلى StackOverflow