Search code examples
rubyhost

Ruby - Getting page content even if it doesn't exist


I am trying to put together a series of custom 404 pages.

require 'uri'

def open(url)
 page_content = Net::HTTP.get(URI.parse(url))
 puts page_content.content
end

open('http://somesite.com/1ygjah1761')

the following code exits the program with an error. How can I get the page content from a website, regardless of it being 404 or not.


Solution

  • You need to rescue from the error

     def open(url)
       require 'net/http'
       page_content = ""
       begin
         page_content = Net::HTTP.get(URI.parse(url))        
         puts page_content
       rescue Net::HTTPNotFound         
         puts "THIS IS 404" + page_content
       end
     end
    

    You can find more information on something like this here: http://tammersaleh.com/posts/rescuing-net-http-exceptions/