2011-08-18 3 views
7

का उपयोग कर किसी IP पते पर होस्टनाम को हल करने के लिए DNS लुकअप निष्पादित करें क्या जावास्क्रिप्ट का उपयोग कर होस्टनाम को हल करना संभव है?जावास्क्रिप्ट

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

मुझे लगता है कि जादू DnsLookup() समारोह रहा हूँ:

यहाँ काल्पनिक कोड होगा। :-)

+0

@ पैट्रिकअलिनियस: आपको प्रश्न समझ में नहीं आया। जैसा कि [x-nl ने कहा] (http://stackoverflow.com/questions/7113072/resolve-a-hostname-with-javascript/31500047#comment36968223_7113122), आपकी टिप्पणी "बोल्क्स" है। –

+0

@DanDascalescu मुझे लगता है कि ऊपर उल्लिखित प्रश्न गलत है। एक चेकमार्क और 277 अपवॉट्स ... –

+1

@PatrikAlienus: ओपी एक आईपी को * मनमानी होस्टनाम * को हल करना चाहता है। जो जवाब आप लिंक करते हैं वह केवल * window.location' से वर्तमान पृष्ठ * का होस्टनाम प्राप्त करता है और इसे हल करने का प्रयास नहीं करता है। –

उत्तर

0

आपको सर्वर-साइड पर कॉलबैक करने और वहां से मूल्य को हल करने की आवश्यकता होगी। जावास्क्रिप्ट में कोई मानक DNS लुकअप कार्यक्षमता उपलब्ध नहीं है।

-2

नहीं - जावास्क्रिप्ट को क्रॉस डोमेन अनुरोध करने से अवरुद्ध कर दिया गया है। वहां संभावित रूप से कुछ हैक हैं जो आपकी मदद करने में सक्षम हो सकते हैं (this एक को थोड़े से वादा करने लगते हैं), लेकिन डिफ़ॉल्ट रूप से आप ऐसा नहीं कर सकते हैं।

आप जबकि वहाँ जावास्क्रिप्ट में कोई मानक DNS कार्यक्षमता है कुछ अनुरोध और सुनिश्चित करें कि आप एक HTTP 200

+0

संदर्भित लाइब्रेरी कैसे अमीर को मेजबान का आईपी पता प्राप्त करने में मदद करने जा रही है ?? क्रॉस-डोमेन अनुरोधों के साथ इसका कोई लेना-देना नहीं है - आप फ्रंट एंड पर होस्ट को हल नहीं कर सकते हैं! – Vladimir

+0

यह उत्तर अमान्य है। देखें: http://stackoverflow.com/questions/1368264/get-host-name-in-javascript/17336519#17336519 –

+2

@ PatrikAlienus बोल्क्स –

3

वापस मिल बनाने के लिए सक्षम हो सकता है, तो आप हमेशा DNS रिज़ॉल्यूशन करता है कि एक 3 पार्टी सार्वजनिक एपीआई कॉल कर सकते हैं।

उदाहरण के लिए, 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();

बेशक

, आप अपने खुद के प्रमाणीकरण टोकन प्राप्त करना चाहिए। नि: शुल्क संलग्न खाते प्रति मिनट 6 अनुरोध तक सीमित हैं।

यदि आप सिर्फ आईपी चाहते हैं, तो http://api.konvert.me/forward-dns/yourdomain.com के लिए एक GET अनुरोध करें।

+1

यह संलग्नक के सर्वर पर होस्टनाम को हल करता है, न कि उस मशीन पर जहां जावास्क्रिप्ट चल रहा है। परिणामस्वरूप आईपी अलग-अलग हो सकता है। – Arthur