In questo tutorial vedremo come effettuare richieste ad un server WHOIS in Node.js senza utilizzare la shell.
La soluzione consiste nel creare una socket verso l'host remoto sulla porta 43 (ad esempio whois.nic.it
)
passando il nome del dominio e terminando la richiesta con la sequenza \r\n
.
'use strict';
const net = require('net');
const sendWhoisRequest = ({ host, domain }) => {
const client = new net.Socket();
const msg = domain + '\r\n';
return new Promise((resolve, reject) => {
client.connect(43, host, () => {
client.write(msg);
});
client.on('data', data => {
resolve(data.toString());
client.destroy();
});
client.on('error', err => {
reject(err);
});
});
};
In questo modo evitiamo di utilizzare il comando whois
dalla shell.