Метод 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-адреса.