# URL check URL validity

**URL:** <https://www.ruby-forum.com/t/url-check-url-validity/91146>\
**Category:** Rails\
**Created:** [April 5, 2007, 4:06am UTC](https://www.ruby-forum.com/t/url-check-url-validity/91146 "2007-04-05T04:06:39Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![jimache](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/c67d28/32.png) [@jimache](https://www.ruby-forum.com/u/jimache)\
**Post date:** [April 5, 2007, 4:06am UTC](https://www.ruby-forum.com/t/url-check-url-validity/91146/1 "2007-04-05T04:06:39Z")

</div>

Hi everyone,

I have a web app that at some point asks for a URL … and i need to  
check that url’s validity … is there a way to do that in RoR…

- in C# i would to something along the lines of

HttpWebRequest hReq =  
(HttpWebRequest)WebRequest.Create(url…);

HttpWebResponse hRes = (HttpWebResponse)hReq.GetResponse();  
rCode = hRes.get\_StatusCode()…etc

Any input is greatly appreciated.

Thank you,

---

<div class="post-metadata">

**Author:** ![jimache](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/c67d28/32.png) [@jimache](https://www.ruby-forum.com/u/jimache)\
**Post date:** [April 5, 2007, 12:55pm UTC](https://www.ruby-forum.com/t/url-check-url-validity/91146/2 "2007-04-05T12:55:08Z")

</div>

I would say a lot depends on what criteria you are using to qualify a  
URL as valid.

---

<div class="post-metadata">

**Author:** ![jimache](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/c67d28/32.png) [@jimache](https://www.ruby-forum.com/u/jimache)\
**Post date:** [April 5, 2007, 3:01pm UTC](https://www.ruby-forum.com/t/url-check-url-validity/91146/3 "2007-04-05T15:01:40Z")

</div>

On Apr 5, 2007, at 6:53 AM, Erik wrote:

> > HttpWebRequest hReq =  
> > (HttpWebRequest)WebRequest.Create(url…);
> > 
> > HttpWebResponse hRes = (HttpWebResponse)hReq.GetResponse();  
> > rCode = hRes.get\_StatusCode()…etc
> > 
> > Any input is greatly appreciated.
> > 
> > Thank you,

require ‘uri’

def valid\_uri?  
begin  
myuri = URI.parse(some\_string\_that\_might\_be\_a\_URL)  
rescue URI::InvalidURIError  
return false  
end

# other checks on myuri.host or myuri.scheme to enforce

application rules

# return false if myuri.scheme =~ /javascript/i

# etc.

return true  
end

Something like that?

-Rob

Rob B. [http://agileconsultingllc.com](http://agileconsultingllc.com)  
removed\_email\_address@domain.invalid
