Advertisement
Guest User

example

a guest
Dec 19th, 2014
155
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 1.75 KB | None | 0 0
  1. require 'nokogiri'
  2. require 'rubygems'
  3. require 'openssl'
  4. require 'net/https'
  5. require 'optparse'
  6.  
  7.  
  8. #IP = ARGV[0]
  9. #unless ARGV.length == 1
  10. #   puts "No IP Given"
  11. #   exit
  12. #end
  13.  
  14. class Colors
  15.     def initialize
  16.         @red = "\033[31m"
  17.         @green = "\033[32m"
  18.         @reset = "\033[0m"
  19.         @yellow = "\033[33m"
  20.         @blue = "\033[34m"
  21.  
  22.     end
  23.     def red
  24.         return @red
  25.     end
  26.     def green
  27.         return @green
  28.     end
  29.     def reset
  30.         return @reset
  31.     end
  32.     def blue
  33.         return @blue
  34.     end
  35.     def yellow
  36.         return @yellow
  37.     end
  38.  
  39.  
  40. end # End color class
  41.  
  42. def getargs
  43.  
  44.     @options = {}
  45.     parser = OptionParser.new do |opts|
  46.         opts.banner = "Usage Text:"
  47.  
  48.         opts.on('-s','--ssl','Use SSL') do |s|
  49.             @options[:useSSL] = s
  50.             puts s
  51.         end
  52.     end
  53.     parser.parse!
  54.     return @options
  55. end # End GetOptions
  56.  
  57. class Request
  58.     def initialize (aURL)
  59.         @uri = aURL
  60.     end
  61.  
  62.     def send
  63.         url = URI.parse(@uri)
  64.         http = Net::HTTP.new(url.host,url.port)
  65.         http.use_ssl = true
  66.         http.verify_mode = OpenSSL::SSL::VERIFY_NONE
  67.         http.open_timeout = 5  # Wait for Client to respond
  68.         request = Net::HTTP::Get.new(url.request_uri)
  69.         begin
  70.             response = http.request(request)
  71.         rescue
  72.             @response = "\033[31mConnection Error: Couldn't Connect to " << @uri << "\033[0m"
  73.         end
  74.         case response
  75.             when Net::HTTPSuccess, Net::HTTPRedirection
  76.                 doc = Nokogiri::HTML(response.body)
  77.                 @response = "\033[32m[+]Host: " << @uri <<  " \033[34m" << doc.css('title')[0].text << "\033[0m"
  78.             else
  79.                 @response = "\033[31m No Response from host: " << @uri << "\033[0m"
  80.         end
  81.     end
  82.  
  83.     def rcvd
  84.         return @response
  85.     end
  86.  
  87.  
  88. end # End of Request Class
  89.  
  90. #Build and req  
  91.  
  92. options = getargs
  93.  
  94. puts options[:useSSL]
  95. #req = Request.new(options[:host])
  96. #req.send
  97. #rcv = req.rcvd
  98. #puts rcv
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement