const net = require('net'); const {parse} = require('url'); const [,,url] = process.argv; const client = new net.Socket(); const {hostname, port = 80, path} = parse(url); client.on('error', (e) => {throw e}); const request = (cb) => { console.log(`GET ${path} ...`); client.write(`GET ${path}\r\nConnection: keep-alive\r\n\r\n`); client.once('data', (data) => { const [status,] = data.toString().split('\n'); console.log(status); cb(); }); }; const requests = (delay, cb) => request(() => setTimeout(() => request(cb), delay)); client.connect(port, hostname, (err) => { console.log(`Connected to ${hostname},${port}...`); if (err) { throw err; } requests(6000, () => { client.destroy(); }); });