Simple example of failed attempts to use a user agent header:

When I try to use the User-Agent header in a hash, I get:

$ ./tryua01.rb
/usr/lib/ruby/1.8/net/protocol.rb:83:in `initialize': can't convert URI::HTTP into String (TypeError)
        from /usr/lib/ruby/1.8/net/protocol.rb:83:in `connect'
        from /usr/lib/ruby/1.8/net/protocol.rb:82:in `timeout'
        from /usr/lib/ruby/1.8/timeout.rb:62:in `timeout'
        from /usr/lib/ruby/1.8/net/protocol.rb:82:in `connect'
        from /usr/lib/ruby/1.8/net/protocol.rb:64:in `initialize'
        from /usr/lib/ruby/1.8/net/http.rb:429:in `do_start'
        from /usr/lib/ruby/1.8/net/http.rb:418:in `start'
        from /usr/lib/ruby/1.8/net/http.rb:286:in `get_by_path'
        from /usr/lib/ruby/1.8/net/http.rb:279:in `get_response'
        from ./tryua01.rb:10

where my simplified code is as follows:

#!/usr/bin/ruby

require 'net/http'
require 'uri'

uah = <<EOUAH
Mozilla/5.0 (Windows; U; Win 9x 4.90; en-US; rv:1.7.10) Gecko/20050716 Firefox/1.0.6
EOUAH
uri_str = "http://www.eskimo.com" response = Net::HTTP.get_response(URI.parse(uri_str),{'User-Agent' => uah})
#response = Net::HTTP.get_response(URI.parse(uri_str))
p response.body[500,55]

when I comment out the first get_response line and use the second one without
the UA header the script works just fine.

xc