2009-01-08 18 views
7

जब कोई उपयोगकर्ता अनुरोध आता है, तो मैं उपयोगकर्ता का आईपी पता प्राप्त करने के लिए Context.Request.UserHostAddress का उपयोग कर सकता हूं। मैं रनटाइम पर वेबसाइट/सर्वर का आईपी पता कैसे प्राप्त कर सकता हूं? मेरे पास कुछ रिपोर्टिंग कोड है जिसका उपयोग एक ही सर्वर पर कई वेबसाइटों द्वारा किया जा सकता है, और प्रत्येक वेबसाइट एक अलग आईपी पते का उपयोग करती है। इसलिए मुझे रनटाइम पर वेबसाइट के आईपी पते का पता लगाने में सक्षम होना चाहिए।मैं एएसपीनेट में सर्वर/वेबसाइट आईपी पता कैसे प्राप्त करूं?

उत्तर

6

धन्यवाद एलेक्स, आपका जवाब मुझे सही रास्ते पर डाल दिया। यहाँ मैं के लिए क्या देख रहा हूँ करने के लिए कोड है:

VB.NET: यदि आपके मेजबान एक सामग्री स्विच के पीछे है

System.Net.Dns.GetHostAddresses(Request.Url.Host)(0).ToString() 

या

System.Net.Dns.GetHostEntry(Request.Url.Host).AddressList(0).ToString() 
+1

यह काम नहीं करता । यदि आप किसी सामग्री स्विच के पीछे हैं तो आईआईएस में स्थानीय सर्वर की साइट चल रही आईपी पता खोजने के लिए आपको क्या करने की आवश्यकता होगी? – devlord

14

System.Net.Dns.GetHostAddresses

वैसे, आप में एक तर्क के रूप नाम मेजबान के पास होना चाहिए, तो शायद इस प्रयास करें:

System.Net.Dns.GetHostByAddress(System.Net.IPAddress.Parse(System.Web.HttpContext.Current.Request.UserHostName)).HostName; 

और अगर सब कुछ विफल हो, बस इसे पुराने स्कूल तरीके से करना:

Response.Write(Request.ServerVariables["LOCAL_ADDR"]); 
2
 string siteName = "Your Site URL"; 
    string tempUrl = siteName.Replace("http://", "").Replace("https://", "").Trim(); 
    string[] SiteURLArr = tempUrl.Split('/'); 
    string SiteURL = SiteURLArr[0]; 
     System.Net.IPAddress[] ip = System.Net.Dns.GetHostAddresses(SiteURL); 
    Response.Write(ip[0]); 
संबंधित मुद्दे