Выполните поиск DNS, чтобы преобразовать имя хоста в IP-адрес с помощью JavaScript. - PullRequest
7 голосов
/ 18 августа 2011

Можно ли разрешить имя хоста с помощью Javascript?

Здесь будет гипотетический код:

var hostname = "www.yahoo.com";
var ipAddress = DnsLookup(hostname);
console.log(ipAddress);

Я ищу эту магическую DnsLookup() функцию. : -)

Ответы [ 3 ]

3 голосов
/ 19 июля 2015

Хотя в JavaScript нет стандартных функций DNS, вы всегда можете вызвать сторонний публичный API, который выполняет разрешение DNS.

Например, Encloud предоставляет такой API , и выможет сделать XMLHttpRequest для него:

var oReq = new XMLHttpRequest();
oReq.onload = function () {
  var response = JSON.parse(this.responseText);
  alert(JSON.stringify(response.dns_entries));
}  
oReq.open("get", "https://www.enclout.com/api/v1/dns/show.json?auth_token=rN4oqCyJz9v2RRNnQqkx&url=stackoverflow.com", true);
oReq.send();

Конечно, вы должны получить свой собственный токен авторизации.Количество бесплатных учетных записей Enclout ограничено 6 запросами в минуту.

Если вы просто хотите получить IP-адрес, сделайте запрос GET для http://api.konvert.me/forward-dns/yourdomain.com.

0 голосов
/ 18 августа 2011

Нет - javascript заблокирован от выполнения междоменных запросов. Потенциально могут быть некоторые хаки, которые могут вам помочь ( этот выглядел довольно многообещающе), но по умолчанию вы не можете этого сделать.

Вы можете запросить что-то и убедиться, что вернули HTTP 200.

0 голосов
/ 18 августа 2011

Вам нужно будет перезвонить на серверную сторону и разрешить значение оттуда. В Javascript нет стандартной функции поиска DNS.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...