Forum: Ruby on Rails Check whether externam URL is valid?

Announcement (2017-05-07): is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see and for other Rails- und Ruby-related community platforms.
Gustav (Guest)
on 2006-03-15 00:32

I have users entering URLs into my app, is there anyway in which I can
check to see if the URLs actually point to something before saving the
user input? Maybe a kind of 'ping'-action that returns true on success?

(btw: does anyone of a tentative release date for Rails1.1? I've been
slobbering all over my RailsRecipes book and I can't wait! Also, Scott
Raymond's compiled a list of awesome stuff that'll be incorporated into
the next release. . . link on LoudThinking.Com)

Lots of Thanks,
Gustav (Guest)
on 2006-03-15 00:33
mmm...Externam should read External :) 'suppose you noticed.

John S. (Guest)
on 2006-03-15 00:48
(Received via mailing list)
Net::HTTP looks like your best shot.

require 'net/http'
Net::HTTP.start('') do |http|
   response = http.get('/index.html')
   p response.code

Check acceptable response codes here:


John S.
Computing Staff - Webmaster
Kavli Institute for Theoretical Physics
University of California, Santa Barbara
(805) 893-6307
Clint P. (Guest)
on 2006-03-15 06:21
(Received via mailing list)
Hey John,

That only works for valid URL's. It doesn't alert you if the URL isn't
there. I'm not sure how to check that?

I've tried your code with a check on the response.

unless response == '200'
  p 'Site is down'
  p 'Found it!'

I get a "SocketError: getaddrinfo: No address associated with
nodename", which isn't checkable to my knowledge.

Any ideas?
This topic is locked and can not be replied to.