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:inconnect’
from /usr/lib/ruby/1.8/net/protocol.rb:82:in timeout' from /usr/lib/ruby/1.8/timeout.rb:62:intimeout’
from /usr/lib/ruby/1.8/net/protocol.rb:82:in connect' from /usr/lib/ruby/1.8/net/protocol.rb:64:ininitialize’
from /usr/lib/ruby/1.8/net/http.rb:429:in do_start' from /usr/lib/ruby/1.8/net/http.rb:418:instart’
from /usr/lib/ruby/1.8/net/http.rb:286:in get_by_path' from /usr/lib/ruby/1.8/net/http.rb:279:inget_response’
from ./tryua01.rb:10

where my simplified code is as follows:


require ‘net/http’
require ‘uri’

uah = <<EOUAH
Mozilla/5.0 (Windows; U; Win 9x 4.90; en-US; rv:1.7.10) Gecko/20050716
uri_str = “” 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
the UA header the script works just fine.