Изучение различных методов получения IP-адреса из домена в Node.js

Метод 1. Использование модуля DNS

Node.js предоставляет встроенный модуль под названием dns, который позволяет нам выполнять поиск в DNS (системе доменных имен). Мы можем использовать функцию dns.lookup()для получения IP-адреса, связанного с доменом. Вот пример:

const dns = require('dns');
const domain = 'example.com';
dns.lookup(domain, (err, address) => {
  if (err) {
    console.error(err);
    return;
  }
  console.log(`The IP address of ${domain} is ${address}`);
});

Метод 2: использование модуля dns.promises

Начиная с Node.js версии 10, модуль dnsпредоставляет API promises, который позволяет нам использовать обещания вместо обратных вызовов. Вот пример использования модуля dns.promises:

const dns = require('dns').promises;
async function getIPFromDomain(domain) {
  try {
    const address = await dns.lookup(domain);
    console.log(`The IP address of ${domain} is ${address}`);
  } catch (err) {
    console.error(err);
  }
}
const domain = 'example.com';
getIPFromDomain(domain);

Метод 3. Использование внешнего API

Если вы предпочитаете более высокоуровневый подход, вы можете использовать внешние API, которые обеспечивают функцию поиска между IP-адресами и доменами. Одним из популярных API является ipapi, который предлагает бесплатные и платные планы. Вот пример того, как вы можете использовать API ipapi в Node.js:

const axios = require('axios');
async function getIPFromDomain(domain) {
  try {
    const response = await axios.get(`https://api.ipapi.com/${domain}?access_key=YOUR_ACCESS_KEY`);
    const { ip } = response.data;
    console.log(`The IP address of ${domain} is ${ip}`);
  } catch (err) {
    console.error(err);
  }
}
const domain = 'example.com';
getIPFromDomain(domain);

В этой статье мы рассмотрели различные методы получения IP-адреса из домена в Node.js. Мы рассмотрели использование встроенного модуля dns, использование модуля dns.promisesдля операций на основе обещаний и использование внешнего API, такого как ipapi. В зависимости от ваших конкретных требований и предпочтений вы можете выбрать метод, который лучше всего соответствует вашим потребностям.

Помните: понимание IP-адреса, связанного с доменом, может иметь решающее значение для различных сетевых задач и проектов веб-разработки. Используя описанные выше методы, вы получите необходимые инструменты для легкого получения IP-адреса.