NodeJsApp - 无法成功建立http连接

时间:2014-04-16 17:12:51

标签: node.js

我是Node的新手,当我尝试运行我的第一个与www.google.com主机建立http连接的简单节点应用程序时。虽然我尝试了在先前线程上提出的一些解决方案,但似乎没有任何帮助。虽然以下错误不是一个罕见的情况,但需要有人告诉我我的设置/环境中缺少什么。

源代码 - test.js - 简单如下 -

var http = require('http');
var options = { host: 'www.google.com'};
http.get(options, function(err, res) {
console.log("GOT ERR?", err);
console.log("GOT RES?", res);});

我收到以下错误。

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)

1 个答案:

答案 0 :(得分:1)

你的回调是错误的。尝试按如下方式编写代码:

var http = require('http');
var options = { host: 'www.google.com'};

// notice that the callback only receives a res parameter
// errors are handled on an event below
var req = http.get(options, function(res) {
  console.log("Got response: " + res.statusCode);
});

// handle errors
req.on('error', function(e) {
  console.log("Got error: " + e.message);
});

以下是http.get:http://nodejs.org/api/http.html#http_http_get_options_callback

的文档

您看到的错误(throw er; //未处理的'错误'事件)是因为您没有错误事件的偶数处理程序。请注意我的代码中的req.on('error')来解决这个问题。