NODEJS dns.lookup

时间:2013-02-26 19:06:28

标签: node.js

我正在尝试从终端读取网站的名称并执行dnslookup在屏幕上打印其IP,但以下代码由于某种原因抛出错误,这里是代码

process.stdout.write('Enter the website name:<www.sitename.com>: ');
process.stdin.resume();
var dns = require('dns');
process.stdin.on('data',function(site) {


var lookup = site.toString('utf-8');
console.log(lookup);
dns.lookup(lookup,function(err,ip) {
    if (err) throw err;
    console.log(ip);
       });

});

错误是 if(err)throw err;                ^ 错误:getaddrinfo ENOENT     在errnoException(dns.js:31:11)     在Object.onanswer [as oncomplete](dns.js:123:16)

为什么代码不起作用?

1 个答案:

答案 0 :(得分:6)

stdin 上的数据为您提供了一个尾随回车符的主机。此尾随CR导致getaddrinfo ENOENT异常。

使用

修改代码
var lookup = site.toString('utf-8').trim();