Help: trick to get the domain name of an URL

Hello,

  I've been toying with my regex for a while and still has some problem with this.

I would like to get the web hostname of URLs : "get_domain(url) ":

such as:

  http://yahoo.com --> yahoo.com
  http://www.yahoo.com/ --> www.yahoo.com
  http://www.yahoo.com/cool/dir --> www.yahoo.com
  http://sub1.sub2.google.com --> sub1.sub2.google.com
  http://sub1.sub2.google.com/abc/def/aa?? --> sub1.sub2.google.com

I would appreciate any help and pointer. Thanks in advance!!

Thanks,
-Chris

Hello,

  I've been toying with my regex for a while and still has some problem
with this.

I would like to get the web hostname of URLs : "get_domain(url) ":

such as:

  http://yahoo.com --> yahoo.com
  http://www.yahoo.com/ --> www.yahoo.com
  http://www.yahoo.com/cool/dir --> www.yahoo.com
  http://sub1.sub2.google.com --> sub1.sub2.google.com
  http://sub1.sub2.google.com/abc/def/aa?? --> sub1.sub2.google.com

I would appreciate any help and pointer. Thanks in advance!!

Wow, that was easy.

Thanks for sharing your ruby-fu :slight_smile:

Or,
   require 'uri'
   url = "http://sub1.sub2.google.com/abc/def/aa?param1=foo&param2=bar"
   URI.parse(url).host
   => "sub1.sub2.google.com"

-Rob

Rob Biedenharn http://agileconsultingllc.com
Rob@AgileConsultingLLC.com

Hello,

   Hope everyone's doing great.

   I have a simple problem and maybe someone could help -- my requirement is pretty simple:

  o I do a lot of scripting in Ruby, for plumbing our Rails web and Java legacy applications.
  o I need to persist [string1,string2,string3] data, such as:
     "apple", "november", "5"
  o I do this quite often with different data sets
  o Performance is not a major concern
  o Simplicity is best
  o I need to be able to retrieve them and update them easily

I have been using ActiveRecord (object.new, object.save, etc) to do this with a table with 3 columns, however I found it a bit too heavy-duty for this simple purpose because I have to use different databases since the data are in different locations..

I wonder if anyone could share some Ruby-Fu or a Ruby library tips on this.

Thanks in advance!

Chris

For such simple persistence Marshal may do:

data = %w(foo bar baz)

File.open('data.db', 'wb') do |fh|
  fh.write(Marshal.dump(data))
end

File.open('data.db', 'rb') do |fh|
  data = Marshal.load(fh.read)
end

Or yaml if human readability is important (and easier to read on other
platforms)

Fred