CoffeeScript - NodeJS无法解析localhost或127.0.0.1

时间:2014-12-10 02:40:09

标签: node.js coffeescript

我正在使用Windows 8.1,并安装了NodeJS 0.10。我安装了Coffee-Script,并使用了http://coffeescriptcookbook.com/chapters/networking/basic-http-client

中的这个简单示例
http = require 'http'

http.get ( host: 'www.google.com' ), (res) ->
    console.log res.statusCode
# Returns: 200

但是,当我使用本地主机或4567端口的127.0.0.1来测试我的Sinatra页面时,我收到DNS错误。

http = require 'http'

http.get ( host: 'http://127.0.0.1:4567' ), (res) ->
    console.log res.statusCode

,错误是:

$> coffee http-request.coffee

events.js:72
        throw er; // Unhandled 'error' event
              ^
Error: getaddrinfo ENOTFOUND
  at errnoException (dns.js:37:11)
  at Object.onanswer [as oncomplete] (dns.js:124:16)

这是Ruby Sinatra应用程序

require 'sinatra'

get '/' do
    erb :index
end

__END__

@@ index
<h1>Hello World!</h1>

我已经离开并编辑了C:\Windows\System32\drivers\etc\hosts并将127.0.0.1解析为localhost,但我仍然收到上述错误。接下来我该怎么做?

- 更新 -
在看了Christian Fritz的回答之后,我现在得到了不同的结果。

events.js:72
        throw er; // Unhandled 'error' event
              ^
Error: connect ECONNREFUSED
  at errnoException (net.js:904:11)
  at Object.afterConnect [as oncomplete] (net.js:895:19)

1 个答案:

答案 0 :(得分:0)

您对http.get的调用错误。要么实际命名主机,要么只使用您使用URL的速记:

http.get ( 'http://127.0.0.1:4567' ), (res) ->
    console.log res.statusCode