0

server.coffee从这个页面运行:https ://github.com/xenph/foaas

从命令行,您可以执行以下操作:

curl http://localhost:5000/off/Name1/Name2
!@#$ off, Name1. - Name2

但我正在使用此页面中的代码:http: //coffeescriptcookbook.com/chapters/networking/basic-http-client

http = require 'http'

http.get { host: 'http://localhost:5000/off/Name1/Name2' }, (res) ->
    data = ''
    res.on 'data', (chunk) ->
        data += chunk.toString()
    res.on 'end', () ->
        console.log data

我得到的错误是:

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)

这让我相信它没有找到网址。

我能做些什么?

4

2 回答 2

2

尝试

http.get 'http://localhost:5000/off/Name1/Name2', (res) ->

或者

http.get { hostname: 'localhost', port: 5000, path: '/off/Name1/Name2' }, (res) ->

代替

http.get { host: 'http://localhost:5000/off/Name1/Name2' }, (res) ->

也许?

于 2013-09-13T07:41:06.567 回答
1

首先从异常中提取更多信息:

.on('error',function(e){
   console.log("Error: " + hostNames[i] + "\n" + e.message); 
   console.log( e.stack );
});

其次,当 curl 工作时,我们可以假设该服务已启动并可从 localhost 访问,因此肯定存在更深层次的问题。你用的是什么风格的linux?我之前通过禁用防火墙(iptables)和selinux解决了类似的问题。

还要仔细检查以确保您已配置 dns 并且它将为 localhost 返回 127.0.0.1。使用 nslookup。

于 2013-09-13T07:40:17.197 回答