2011-08-18 8 views
7

Javascriptを使用してホスト名を解決することは可能ですか?ここでJavaScriptを使用してホスト名をIPアドレスに解決するDNSルックアップを実行する

は架空のコードのようになります。

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

私はその魔法DnsLookup()機能を探しています。 :-)

+0

@PatrikAlienus:あなたはその質問を理解できませんでした。 [x-nl said](http://stackoverflow.com/questions/7113072/resolve-a-hostname-with-javascript/31500047#comment36968223_7113122)、あなたのコメントは "bollocks"です。 –

+0

@DanDascalescu私は上記の質問が間違っていると思う。チェックマークと277 upvotesを持っています... –

+1

@PatrikAlienus:OPは任意のホスト名*をIPに解決したいと考えています。あなたがリンクする答えは、 'window.location'から現在のページ*のホスト名だけを取得し、解決しようとしません。 –

答えて

0

サーバー側にコールバックしてそこから値を解決する必要があります。 Javascriptでは標準のDNS参照機能はありません。

-2

いいえ - javascriptはクロスドメインリクエストをブロックされています。潜在的にあなたを助けることができる可能性のあるいくつかのハックがありますが(this)、デフォルトではそれを行うことはできません。

JavaScriptで標準的なDNS機能はありませんがあなたが何かを要求し、HTTP 200

+0

参照されているライブラリは、AmirがホストのIPアドレスを取得するのに役立ちますか?クロスドメインリクエストはこれとは関係ありません。フロントエンドでホストを解決することはできません。 – Vladimir

+0

この回答は無効です。参照:http://stackoverflow.com/questions/1368264/get-host-name-in-javascript/17336519#17336519 –

+2

@PatrikAlienus Bollocks –

3

を取り戻すことを確認することができるかもしれない、あなたは常にDNS解決を行い、サードパーティのパブリックAPIを呼び出すことができます。

例えば

Encloud provides such an 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だけの場合は、http://api.konvert.me/forward-dns/yourdomain.comのGETリクエストを作成してください。

+1

これは、javascriptが実行されているマシンではなく、Encloutのサーバ上のホスト名を解決します。 結果として生じるIPは異なる可能性があります。 – Arthur

関連する問題