Simple http.get() script fails

Hi,

Using a simple test script to get Google’s start page HTML gives me the
following error:

/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/net/http.rb:560:in
initialize': getaddrinfo: nodename nor servname provided, or not known (SocketError) from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/net/http.rb:560:in open’

The script is:

USERAGENT = 'Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US;
rv:1.9.0.10) ’ +
‘Gecko/2009042315 Firefox/3.0.10’

http = Net::HTTP.new( ‘http://www.google.com’ )

res = http.get( ‘/’, {
‘User-Agent’ => USERAGENT,
‘Accept’ => ‘/’,
‘Accept-Language’ => ‘en-us,en,q=0.5’,
‘accept-encoding’ => ‘gzip;q=1.0,deflate;q=0.6,identity;q=0.3’,
‘Connection’ => ‘keep-alive’,
‘Keep-Alive’ => ‘115’
} )

puts res.body

Googling for it shows some results stating the there was an error with
OS X 10.5.3 (I’m using 10.6.2) but I find hard to believe that the error
is still there in such a core library, so the problem must be in my
code.

Can anyone provide some light on this? Thanks !

You could try:

require ‘open-uri’
http = open(‘http:/www.google.com’)

http then contains your google page data.

Didn’t you forget to put in your PROXY settings?? NodeName not found
normally means you didn’t even get out of your own network block…