2009-08-28 70 views
26

Có phương pháp 1 dòng nào để lấy địa chỉ IP của máy chủ không?Cách lấy địa chỉ IP của máy chủ?

Cảm ơn

+0

Ý của bạn là "máy chủ" - máy xử lý ASP.Net hoặc tường lửa/cổng máy chủ – Dewfy

+2

Bạn cần xem xét rằng có thể có nhiều địa chỉ IP được gán cho máy chủ của bạn. – UserControl

+0

Bản sao có thể có của http://stackoverflow.com/q/646525/292060, mặc dù điều này có câu trả lời được chọn tốt hơn. – goodeye

Trả lời

54
Request.ServerVariables["LOCAL_ADDR"]; 

Từ docs:.

Trả về địa chỉ máy chủ mà trên đó các yêu cầu đến trong này rất quan trọng trên máy tính mà có thể có nhiều địa chỉ IP ràng buộc để máy tính và bạn muốn tìm ra địa chỉ nào yêu cầu được sử dụng.

Điều này khác với các địa chỉ Từ xa có liên quan đến máy khách.

+0

+1 Nice , Tôi không biết điều đó tồn tại. – Pwninstein

+0

Đúng, rất nhiều thứ đang ẩn trong bộ sưu tập ServerVariables. –

+2

Câu trả lời hoàn hảo - từ những ngày cũ của ASP Classic, tôi nên nhớ điều này :) –

6

Từ tìm kiếm trên net tôi thấy mã sau: (Tôi không thể tìm thấy một phương pháp dòng duy nhất có)

string myHost = System.Net.Dns.GetHostName(); 

// Show the hostname 

MessageBox.Show(myHost); 

// Get the IP from the host name 

string myIP = System.Net.Dns.GetHostEntry(myHost).AddressList[index].ToString(); 

// Show the IP 

MessageBox.Show(myIP); 

-> nơi index là chỉ số của địa chỉ IP của bạn máy chủ (ví dụ: kết nối mạng).

Mã từ: http://www.geekpedia.com/tutorial149_Get-the-IP-address-in-a-Windows-application.html

0

Phương pháp này sẽ trả về địa chỉ IP công cộng của máy khi chạy mã này trên PC của bạn và khi bạn triển khai ứng dụng trên máy chủ sẽ trả về địa chỉ IP máy chủ.

public static string Getpublicip() 
    { 
     try 
     { 
      string externalIP = ""; 
      var request = (HttpWebRequest)WebRequest.Create("http://icanhazip.com.ipaddress.com/"); 
      var response = (HttpWebResponse)request.GetResponse(); 
      var responseString = new StreamReader(response.GetResponseStream()).ReadToEnd(); 

      externalIP = new WebClient().DownloadString("http://icanhazip.com"); 
      return externalIP; 

     } 
     catch (Exception e) 
     { 

      return "null"; 
     } 

    } 
Các vấn đề liên quan