Class: W4bFile::Scanner
- Inherits:
-
Object
- Object
- W4bFile::Scanner
- Defined in:
- lib/w4b-file/scanner.rb
Instance Method Summary collapse
-
#initialize(url) ⇒ Scanner
constructor
A new instance of Scanner.
- #scan_hidden_files ⇒ Object
- #scan_website ⇒ Object
Constructor Details
#initialize(url) ⇒ Scanner
Returns a new instance of Scanner.
7 8 9 |
# File 'lib/w4b-file/scanner.rb', line 7 def initialize(url) @url = url end |
Instance Method Details
#scan_hidden_files ⇒ Object
20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/w4b-file/scanner.rb', line 20 def scan_hidden_files uri = URI.parse(@url) http = Net::HTTP.new(uri.host, uri.port) http.use_ssl = (uri.scheme == 'https') http.verify_mode = OpenSSL::SSL::VERIFY_PEER request = Net::HTTP::Get.new(uri) request['User-Agent'] = 'Googlebot' response = http.request(request) hidden_files = [] if response.is_a?(Net::HTTPSuccess) response.body.scan(/href="([^"#]*)"/).flatten.compact.each do |file| hidden_files << file if file.start_with?(".") || file.include?("/.") end end hidden_files end |
#scan_website ⇒ Object
11 12 13 14 15 16 17 18 |
# File 'lib/w4b-file/scanner.rb', line 11 def scan_website uri = URI.parse(@url) response = Net::HTTP.get_response(uri) return [] unless response.is_a?(Net::HTTPSuccess) response.body.scan(/href="([^"#]*)"|\ssrc="([^"#]*)"/).flatten.compact end |