2013-02-26 17 views
0

我試圖從終端讀取一個網站的名稱做了dnslookup打印在屏幕上的IP,但下面的代碼是拋出一個錯誤出於某種原因,這裏是代碼的NodeJS dns.lookup

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 [按的onComplete](dns.js:123:16)

爲什麼未啓用的代碼工作?

回答

6

the data on stdin爲您的主機提供了尾隨回車。該尾隨CR導致getaddrinfo ENOENT異常。

修改代碼以

var lookup = site.toString('utf-8').trim(); 
+0

謝謝..Its現在的工作很好.. – 2013-03-28 18:08:04