#Extrae server y metodos de un host dado #Escrito en POO para utilizar en otros codigos #protos.nu@gmail.com require 'socket' class InfoHTTP def initialize(host) @host=host end def server begin sock = TCPSocket.new(@host , 80 ) rescue Errno::ECONNREFUSED puts "Error de Conexion" else sock.print "GET / HTTP/1.1\nHost:" , @host, "\n\n" res=sock.recv(500) if res =~ /Server:/ res=res.split("Server: ") res=res[1].split("\s") a=res[0] sock.close else a="No se pudo determinar el Server" end end return a end def mets a=Array.new for met in ['GET', 'PUT', 'DELETE', 'OPTIONS', 'HEAD', 'TRACE'] begin sock =TCPSocket.new(@host, 80) rescue Errno::ECONNREFUSED puts "Error de conexion" else sock.print met, " / HTTP/1.1\nHost:", @host, "\n\n" res=sock.recv(100) if res =~ /400|401|403|404|405|406|501/ sock.close else a.push(met) sock.close end end end return a.join('-') end end prueba = InfoHTTP.new('www.google.com') puts prueba.server puts prueba.mets