Ken Kaplan wrote: > > [...] > > It hangs when writing the get request string to a TCPsocket object. > > Does anyone know why this might fail without raising an exception? > Any suggestions appreciated... > I can't help, unfortunately. I added - h.set_debug_output $stdout # right after Net::HTTP.new and got - opening connection to www.pragmaticprogrammer.com... opened <- "GET /index.html HTTP/1.1\r\nConnection: close\r\nHost: www.pragmaticprogrammer.com\r\n\r\n" -> "HTTP/1.1 200 OK\r\n" -> "Date: Sun, 10 Jul 2005 01:36:29 GMT\r\n" [...] and (from your trace, thanks) you will be getting - opening connection to www.pragmaticprogrammer.com... opened [HANG] (It's surprising that it doesn't time out, though.) All I can suggest is that you try with a local server. If you set this going in the background, you should get a response from your browser at http://127.0.0.1/webrick : <servlet.rb> #------------------------------------------------- require 'webrick' include WEBrick # Browser address: http://127.0.0.1/webrick s = HTTPServer.new( :Port => 80 ) class HelloServlet < HTTPServlet::AbstractServlet def do_GET(req, res) # show request in response ! res.body = req.to_s res['Content-Type'] = "text/plain" end end s.mount('/webrick', HelloServlet) trap("INT") { s.shutdown } STDOUT.sync=true puts ' '*30 << '**********************************' puts ' '*30 << '== Ctrl+Break to close server ==' puts ' '*30 << '**********************************' s.start #------------------------------------------------- Then, if everything is OK of course, you could access it from another Ruby session with your modified script: #------------------------------------------------- STDOUT.sync=true require 'net/http' h = Net::HTTP.new('127.0.0.1', 80) h.set_debug_output STDOUT resp, data = h.get('/webrick/xyz', nil) puts '*'*30 if resp.message =~ /\AOK/ print data else puts 'ERROR ...' p resp.message end puts '*'*30 #------------------------------------------------- It does seem like a problem you've got locally rather than Ruby's Net library. Please post back if you find the cause or suspect 'Net' is at fault. Good luck, daz