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