Ein DNS-lookup ausführen, um den Hostnamen aufzulösen in eine IP-Adresse mit JavaScript
Ist es möglich, zum auflösen von Hostnamen mithilfe von Javascript?
Hier wäre hypothetischen code:
var hostname = "www.yahoo.com";
var ipAddress = DnsLookup(hostname);
console.log(ipAddress);
Ich bin auf der Suche nach den magischen DnsLookup()
Funktion. 🙂
- Sie Verstand nicht die Frage. Als x-nl sagte, ist dein Kommentar "Schwachsinn".
- Ich denke, die Frage, die ich zitierte oben ist falsch. Mit einem Haken und 277 upvotes...
- der OP will die Lösung eines beliebigen Hostnamen zu einer IP-Adresse. Die Antwort, die Sie verknüpfen wird nur der hostname der aktuellen Seite aus
window.location
und nicht versuchen, es zu beheben. - Ich würde sagen, diese Frage ist fast ein Duplikat von stackoverflow.com/questions/7113072/... obwohl Sie haben nicht angegeben, ob Sie mit client-side script oder server-side code wie mit NodeJS.
- Möglich, Duplikat der Kann ich ein DNS-lookup ausführen (Host-name zu IP-Adresse) mithilfe von client-side Javascript?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Zwar gibt es keine standard-DNS-Funktionalität in JavaScript, können Sie immer rufen Sie ein 3rd-party-öffentlichen API, funktioniert die DNS-Auflösung.
Beispielsweise Encloud bietet eine solche API, und Sie können ein XMLHttpRequest-Objekt für Sie:
JS:
Natürlich, Sie sollte Ihre eigene Auth-token. Kostenlose Enclout-Konten beschränkt auf 6 Anfrage pro minute.
Wenn Sie wollen einfach nur die IP, stellen Sie eine GET-Anforderung für http://api.konvert.me/forward-dns/yourdomain.com.
Müssen Sie den Rückruf-server-Seite, und beheben Sie den Wert von dort aus. Es gibt keine standard-DNS-lookup-Funktion in Javascript zur Verfügung stehen.
No - javascript wird blockiert, wodurch cross-domain-requests. Es gibt möglicherweise einige hacks gibt, die vielleicht in der Lage sein, Ihnen zu helfen (diese man sah irgendwie vielversprechend), aber standardmäßig können Sie nicht tun.
Können Sie vielleicht etwas fordere, und stellen Sie sicher, erhalten Sie eine " HTTP 200.