# "Temporary failure in name resolution" for requests but not from console

**URL:** <https://www.ruby-forum.com/t/temporary-failure-in-name-resolution-for-requests-but-not-from-console/151386>\
**Category:** Rails\
**Created:** [October 20, 2008, 10:14pm UTC](https://www.ruby-forum.com/t/temporary-failure-in-name-resolution-for-requests-but-not-from-console/151386 "2008-10-20T22:14:28Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Bill\_Horsman](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/b/8491ac/32.png) [@Bill\_Horsman](https://www.ruby-forum.com/u/Bill_Horsman)\
**Post date:** [October 20, 2008, 10:14pm UTC](https://www.ruby-forum.com/t/temporary-failure-in-name-resolution-for-requests-but-not-from-console/151386/1 "2008-10-20T22:14:28Z")

</div>

Hello,

I’ve been banging my head against this problem for a while now. I’m  
using Net::HTTP.get(URI.parse(url)) to fetch a response from another  
server. It looks like this:

module Hxml  
def self.fetch  
// Not really using [bbc.co.uk](http://bbc.co.uk) but it behaves the same when I do  
return Net::HTTP.get(URI.parse(‘[http://news.bbc.co.uk](http://news.bbc.co.uk)’))  
end  
end

I call that from my controller on my staging box (using an HTTP  
request, like normal) and it says “getaddrinfo: Temporary failure in  
name resolution”. Fair enough, but it does work from the console on  
the staging box. In other words, from Mongrel I get an error, but from  
the console it works fine. The error’s backtrace points directly to  
the line above, “Net::HTTP.get”.

Now, the staging server is behind a firewall that I don’t know much  
about - and I can’t rule out that being the cause of the problem.  
Only, how would it work from the console if that was the case? As a  
double check, curl also works from a terminal too.

It all works fine on my development box (Mongrel or console) - which  
just adds to the puzzle.

I would have thought that the console environment was identical to the  
mongrel environment. When I start up the console it reports that is  
“Loading stage environment”. And I can see mongrel running using ps  
and it includes “-e stage” so I’m pretty sure the environments are the  
same.

Running Ruby 1.8.6 on Rails 2.1.0, Mac OS X Server 10.5.4

Thanks.

- 

Bill

---

<div class="post-metadata">

**Author:** ![Bill\_Horsman](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/b/8491ac/32.png) [@Bill\_Horsman](https://www.ruby-forum.com/u/Bill_Horsman)\
**Post date:** [October 22, 2008, 10:11am UTC](https://www.ruby-forum.com/t/temporary-failure-in-name-resolution-for-requests-but-not-from-console/151386/2 "2008-10-22T10:11:04Z")

</div>

Follow up from OP:

On a suggestion by Rick T., I switched from using Net:HTTP to a  
simple system call to curl. Same result ☹ It works fine from the  
console but curl returns false when called from Mongrel. It definitely  
looks like Mongrel is messing things up for me. It seems a little over  
the top to switch from Mongrel to something else (like Passenger?)  
just because of this.

Note, using an IP address works fine in tests - but the URL I need to  
use needs the domain so that it can resolve its virtual hosts.

- 

Bill

---

<div class="post-metadata">

**Author:** ![Bill\_Horsman](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/b/8491ac/32.png) [@Bill\_Horsman](https://www.ruby-forum.com/u/Bill_Horsman)\
**Post date:** [October 22, 2008, 1:08pm UTC](https://www.ruby-forum.com/t/temporary-failure-in-name-resolution-for-requests-but-not-from-console/151386/3 "2008-10-22T13:08:53Z")

</div>

Another follow up from OP:

For the record, switching to Passenger fixed the problem. I’m happy to  
stick with Passenger so that’s fine. It looks like it’s definitely a  
Mongrel problem so I’ll stop by the Mongrel people to investigate  
further.

Thanks for listening 😉

- 

Bill
