我正在尝试从终端读取网站的名称,并在屏幕上执行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);
});
});
Run Code Online (Sandbox Code Playgroud)
错误是if(err)throw err; ^错误:getaddrinfo ENOENT在errnoException(dns.js:31:11)在Object.onanswer [as oncomplete](dns.js:123:16)
为什么代码不起作用?
stdin上的数据为主机提供了一个尾随回车符.此尾随CR导致getaddrinfo ENOENT异常.
修改你的代码
var lookup = site.toString('utf-8').trim();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1093 次 |
| 最近记录: |