2016-04-14 8 views
0

Wie erhalten Sie die IP-Adresse einer Domäne und die Serverinformationen dieser Domäne, um festzustellen, ob die Serverinformationen Apache, nginix usw. sind?Erhalten der IP-Adresse der Domäne plus der Zurück-Serverinformationen

Ich habe eine ziemlich gute Idee, wie man die IP zu bekommen, aber aus irgendeinem Grunde wird es die richtigen Informationen nicht ausgegeben:

require 'socket' 
IPSocket::getaddress('http://www.prairiegraphicdesign.com/phpStuff/week2Shopping/cartAdd.php?action=add&id=4') 
#<= irb(main):001:0> require 'socket' 
# => true  
# irb(main):002:0>IPSocket::getaddress('http://www.prairiegraphicdesign.com/phpStuff/week2Shopping/cartAdd.php?action=add&id=4') 
# SocketError: getaddrinfo: No such host is known. 
#  from (irb):2:in `getaddress' 
#  from (irb):2 
#  from C:/Ruby22/bin/irb:11:in `<main>' 

Ist das, weil ich die URL auf den ursprünglichen Streifen muß URL?

http://www.prairiegraphicdesign.com 

Antwort

0

, die eine URL ist, und getaddress haben keine Ahnung, was mit denen zu tun. Alles, was es verarbeiten kann, sind voll qualifizierte Domänennamen (FQDN) wie "example.com".

Stattdessen müssen Sie es auszubrechen:

require 'uri' 

uri = URI.parse('http://www.prairiegraphicdesign.com/phpStuff/week2Shopping/cartAdd.php?action=add&id=4') 

uri.host 
#=> "www.prairiegraphicdesign.com" 

Sie, dass an eine Adresse auflösen können, wenn Sie mögen.

Wie für welche Server-Software läuft es, müssen Sie eine HTTP-Anfrage an den Server machen und die richtigen Header aus der Antwort zu extrahieren:

require 'net/http' 

res = Net::HTTP.get_response(uri) 

res['server'] 
#=> "Microsoft-IIS/6.0" 
+0

das Sinn macht, so konnte ich die Adresse mit Sockel lösen nach es wurde richtig geparst? – JasonBorne

+0

Es gibt eine Reihe von Möglichkeiten, das Problem zu beheben, einschließlich der "Socket" -Bibliothek. Für weitere Details können Sie versuchen [Net :: DNS] (https://github.com/bluemonk/net-dns), wo es Ihnen eine Liste von Datensätzen, nicht nur ein Typ geben wird. – tadman

Verwandte Themen