0

ターミナルからサイトの名前を読み取り、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);
       });

});

エラーは、(err)がerrをスローする場合です。^エラー:getaddrinfo ENOENT at errnoException(dns.js:31:11)at Object.onanswer [as oncomplete](dns.js:123:16)

コードが機能しないのはなぜですか?

4

1 に答える 1

6

stdinデータは、末尾のキャリッジリターンをホストに提供します。この末尾のCRにより、getaddrinfoENOENT例外が発生します。

でコードを変更する

var lookup = site.toString('utf-8').trim();
于 2013-02-26T19:39:34.547 に答える