दिलचस्प पोस्ट
विशिष्ट तत्वों को एक numpy array में कैसे निकालें कैसे BET के साथ यूटीएफ 8 एन्कोडिंग के साथ सी # में GetBytes () प्राप्त करें? परमाणु / अस्थिर / सिंक्रनाइज़ में अंतर क्या है? मैं पेंड्स डेटाफ्रेम के एक कॉलम में जीरो के साथ सभी नाएन वैल्यू को कैसे बदल सकता हूँ? एमएस एक्सेस: वीबीए में मौजूदा डाटाबेस कॉम्पैक्ट कैसे करें डेल्फी विंडोज सर्विस डिजाइन क्या एनटीआई फ्रेमवर्क 4 कोड पहले पहचान जनरेटर जैसे NHibernate के लिए समर्थन है? CLSID {XXXX} के साथ घटक के लिए COM वर्ग फ़ैक्टरी को पुनः प्राप्त करने में त्रुटि निम्न त्रुटि के कारण: 80040154 WPF – क्लिक करने योग्य हाइपरलिंक्स क्या टीसीपी / आईपी रीसेट (आरएसटी) ध्वज भेजा जा सकता है? cqlsh कनेक्शन त्रुटि: 'रेफरी () खोजशब्द तर्क' हमें थ्रेड की आवश्यकता क्यों है। मेमोरीबारीअर ()? .NET WinForms ऐप में फ़ॉन्ट डीपीआई को कैसे नियंत्रित करें आप एक फोनगैप एंड्रॉइड एप्लिकेशन पर मानचित्र (Google) कैसे दिखाते हैं कैसे HikariCP के लिए वसंत के साथ डेटा स्रोत स्थापित करने के लिए?

क्या मैं क्लाइंट-साइड जावास्क्रिप्ट का उपयोग कर एक DNS लुकअप (होस्टनाम आईपी एड्रेस) कर सकता हूं?

मैं क्लाइंट-साइड जावास्क्रिप्ट का उपयोग DNS क्लाइंट (होस्टनाम को आईपी एड्रेस) करने के लिए करना चाहता हूं जैसा कि ग्राहक के कंप्यूटर से देखा गया है क्या यह संभव है?

Solutions Collecting From Web of "क्या मैं क्लाइंट-साइड जावास्क्रिप्ट का उपयोग कर एक DNS लुकअप (होस्टनाम आईपी एड्रेस) कर सकता हूं?"

जावास्क्रिप्ट मानक पुस्तकालय में मेजबान या आईपी-पते का कोई विचार नहीं है। इसलिए आपको अपने लिए होस्टनामों को देखने के लिए कुछ बाहरी सेवा का उपयोग करना होगा।

मैं एक सीजीआई-बिन की मेजबानी करने की सलाह देता हूं जो एक मेजबाननाम के आईपी-पता को देखता है और जावास्क्रिप्ट के माध्यम से पहुंचता है।

संपादित करें : इस प्रश्न ने मुझे एक खुजली दी, इसलिए मैंने Google ऐप इंजिन पर जेएसओएनपी वेबसाइर्स्ट डाल दिया जो क्लाइंट आईपी पते को रिटर्न करता है उपयोग:

<script type="application/javascript"> function getip(json){ alert(json.ip); // alerts the ip address } </script> <script type="application/javascript" src="http://jsonip.appspot.com/?callback=getip"> </script> 

याय, कोई सर्वर प्रॉक्सी की जरूरत नहीं है


शुद्ध जेएस नहीं कर सकते अगर आपके पास उसी डोमेन के तहत एक सर्वर स्क्रिप्ट है जो इसे प्रिंट करता है तो आप उसे पढ़ने के लिए XMLHttpRequest भेज सकते हैं।

बहुत देर हो चुकी है, लेकिन मुझे लगता है कि बहुत से लोग अभी भी "Google एयरलाइंस" के माध्यम से यहां आएंगे। वेबआरटीसी का उपयोग करने के लिए एक आधुनिक तरीका है जिसे सर्वर समर्थन की आवश्यकता नहीं है

https://hacking.ventures/local-ip-discovery-with-html5-webrtc-security-and-privacy-risk/

अगला कोड http://net.ipcalf.com/ पर कॉपी और पेस्ट करें।

 // NOTE: window.RTCPeerConnection is "not a constructor" in FF22/23 var RTCPeerConnection = /*window.RTCPeerConnection ||*/ window.webkitRTCPeerConnection || window.mozRTCPeerConnection; if (RTCPeerConnection) (function () { var rtc = new RTCPeerConnection({iceServers:[]}); if (window.mozRTCPeerConnection) { // FF needs a channel/stream to proceed rtc.createDataChannel('', {reliable:false}); }; rtc.onicecandidate = function (evt) { if (evt.candidate) grepSDP(evt.candidate.candidate); }; rtc.createOffer(function (offerDesc) { grepSDP(offerDesc.sdp); rtc.setLocalDescription(offerDesc); }, function (e) { console.warn("offer failed", e); }); var addrs = Object.create(null); addrs["0.0.0.0"] = false; function updateDisplay(newAddr) { if (newAddr in addrs) return; else addrs[newAddr] = true; var displayAddrs = Object.keys(addrs).filter(function (k) { return addrs[k]; }); document.getElementById('list').textContent = displayAddrs.join(" or perhaps ") || "n/a"; } function grepSDP(sdp) { var hosts = []; sdp.split('\r\n').forEach(function (line) { // cf http://tools.ietf.org/html/rfc4566#page-39 if (~line.indexOf("a=candidate")) { // http://tools.ietf.org/html/rfc4566#section-5.13 var parts = line.split(' '), // http://tools.ietf.org/html/rfc5245#section-15.1 addr = parts[4], type = parts[7]; if (type === 'host') updateDisplay(addr); } else if (~line.indexOf("c=")) { // http://tools.ietf.org/html/rfc4566#section-5.7 var parts = line.split(' '), addr = parts[2]; updateDisplay(addr); } }); } })(); else { document.getElementById('list').innerHTML = "<code>ifconfig | grep inet | grep -v inet6 | cut -d\" \" -f2 | tail -n1</code>"; document.getElementById('list').nextSibling.textContent = "In Chrome and Firefox your IP should display automatically, by the power of WebRTCskull."; } 

मेजबानी की गई जेएसओएनपी संस्करण एक जादू की तरह काम करता है, लेकिन ऐसा लगता है कि रात के समय में अधिकांश समय (पूर्वी समय) के दौरान यह अपने संसाधनों पर जाता है, इसलिए मुझे अपना खुद का संस्करण बनाना पड़ता था

इस प्रकार मैंने इसे PHP के साथ पूरा किया है:

 <?php header('content-type: application/json; charset=utf-8'); $data = json_encode($_SERVER['REMOTE_ADDR']); echo $_GET['callback'] . '(' . $data . ');'; ?> 

फिर जावास्क्रिप्ट ठीक पहले जैसा ही है, सिर्फ एक सरणी नहीं है:

 <script type="application/javascript"> function getip(ip){ alert('IP Address: ' + ip); } </script> <script type="application/javascript" src="http://www.anotherdomain.com/file.php?callback=getip"> </script> 

इतना ही आसान!

साइड नोट: यदि आप किसी भी सार्वजनिक वातावरण में यह प्रयोग कर रहे हैं, तो अपनी $ _GET को साफ करना सुनिश्चित करें!

मुझे पता है कि यह एक पुराना सवाल है, लेकिन मेरा समाधान दूसरों की सहायता कर सकता है

मुझे लगता है कि JSON (पी) सेवाओं जो इस आसान बनाने के लिए हमेशा के लिए पिछले नहीं है, लेकिन निम्नलिखित जावास्क्रिप्ट लेखन के समय मेरे लिए अच्छी तरह से काम करता है।

 <script type="text/javascript">function z (x){ document.getElementById('y').innerHTML=x.query }</script> <script type='text/javascript' src='http://ip-api.com/json/zero.eu.org?callback=z'></script> 

उपर्युक्त मेरे सर्वर का आईपी उस पृष्ठ पर स्थित है जिस पर वह स्थित है लेकिन स्क्रिप्ट को किसी भी आईपी को दूसरे डोमेन नाम में 'zero.eu.org' बदलकर संशोधित किया जा सकता है। यह मेरे पृष्ठ पर कार्रवाई में देखा जा सकता है: http://meon.zero.eu.org/

ऐसा करने के लिए ब्राउज़र सैंडबॉक्स को तोड़ने की आवश्यकता होगी अपने सर्वर को लुकअप और क्लाइंट साइड से एक्सएमएलएचटीपी के माध्यम से अनुरोध करने का प्रयास करें।

ब्राउज़र से डीएनएस लुकअप करने के लिए एक तृतीय-पक्ष सेवा है जो एक कॉरस अनुकूल रिस्ट एपीआई प्रदान करती है – https://exana.io/tools/dns/

मुझे नहीं लगता कि यह सुरक्षा कारणों के लिए अधिकांश ब्राउज़रों द्वारा अनुमत है, शुद्ध जावास्क्रिप्ट प्रसंग में, जैसा कि प्रश्न पूछता है।

शायद मुझे यह बात याद आती है लेकिन यहाँ नेवी आदमी के जवाब में यह बताया जाता है कि ब्राउज़र आपको 'अनुरोधकर्ता का' आईपी पता कह सकता है (यद्यपि केवल उनके सेवा प्रदाता)।

क्लाइंट द्वारा प्रदान किए जाने वाले पृष्ठ में एक स्क्रिप्ट टैग रखें (कॉल करने के लिए सोक है जो दूसरे को इंगित करता है) जो संतुलित नहीं है (मुझे पता है कि इसका अर्थ है कि आपको 2 सर्वर पर पहुंच की आवश्यकता है लेकिन होस्टिंग इन दिनों सस्ता है और आप सेट कर सकते हैं यह आसानी से और सस्ते में)।

यह ऐसा कोड है जिसे क्लाइंट पेज पर जोड़ा जाना चाहिए:

दूसरे सर्वर पर "someServerIown" आपको एएसपी, एएसपीएक्स या पीएचपी पृष्ठ की आवश्यकता है;

—– इसमें सर्वर कोड शामिल है:

"<% Response.Write (" var clientipaddress = '"और अनुरोध। श्वेतवर्णीय (" REMOTE_ADDR ") और"'; ")%>" (बाहरी डीबीएल उद्धरणों के बिना :-))

—- और इस कोड को स्क्रिप्ट टैग पर वापस लिखता है:

  var clientipaddress = '178.32.21.45'; 

यह प्रभावी रूप से एक जावास्क्रिप्ट वेरिएबल बनाता है जो आप कम से कम पेज पर जावास्क्रिप्ट के साथ एक्सेस कर सकते हैं।

उम्मीद है कि आप इस var का उपयोग करेंगे और वापस भेजने के लिए एक प्रपत्र नियंत्रण तैयार करने के लिए मान लिखें।

जब उपयोगकर्ता पोस्ट या अगले अनुरोध पर आपका जावास्क्रिप्ट और / या फॉर्म वेरिएबल के मान भेजता है जो "अन्य सर्फर आईने" ने आपके लिए भर दिया है, सर्वर पर वापस आप इसे पसंद करेंगे

यह है कि कैसे मैं गूंगा लोड बैलेंसर के आसपास आती हूं हमारे पास मुखौटे क्लाइंट आईपी पता है और इसे लोड बैलेंसर के रूप में प्रकट होता है …. गूंगा … गूंगा गूंगा गूंगा!

मैंने सही समाधान नहीं दिया है क्योंकि हर किसी की स्थिति थोड़ा अलग है अवधारणा हालांकि ध्वनि है यह भी ध्यान रखें कि यदि आप इसे एक HTTPS पेज पर कर रहे हैं तो आपके "अन्य सर्विजन" को उस सुरक्षित फ़ॉर्म में भी वितरित करना चाहिए अन्यथा क्लाइंट को मिश्रित सामग्री पर अलर्ट किया गया है। और अगर आपके पास https है तो सुनिश्चित करें कि आपके सभी कतार वैध हैं अन्यथा क्लाइंट को चेतावनी भी मिलती है।

आशा है कि यह किसी को मदद करता है! माफ करना, जवाब देने / योगदान करने के लिए एक साल लगा। 🙂

मेरा संस्करण ऐसा है:

मेरे सर्वर पर PHP:

 <?php header('content-type: application/json; charset=utf-8'); $data = json_encode($_SERVER['REMOTE_ADDR']); $callback = filter_input(INPUT_GET, 'callback', FILTER_SANITIZE_STRING, FILTER_FLAG_ENCODE_HIGH|FILTER_FLAG_ENCODE_LOW); echo $callback . '(' . $data . ');'; ?> 

पृष्ठ पर jQuery:

 var self = this; $.ajax({ url: this.url + "getip.php", data: null, type: 'GET', crossDomain: true, dataType: 'jsonp' }).done( function( json ) { self.ip = json; }); 

यह क्रॉस डोमेन काम करता है यह स्थिति की जांच का उपयोग कर सकता है उस पर कार्य करना

यदि क्लाइंट को जावा स्थापित है, तो आप ऐसा कुछ कर सकते हैं:

 ipAddress = java.net.InetAddress.getLocalHost().getHostAddress(); 

इसके अलावा, आपको शायद एक सर्वर साइड स्क्रिप्ट का उपयोग करना होगा