如何使用.NET代码获取用户的IP地址?

时间:2014-03-24 12:19:29

标签: asp.net vb.net

如何使用.NET代码获取用户的IP地址?我使用的是使用ASP.net代码的Foo Basic Web Studio IDE。

3 个答案:

答案 0 :(得分:1)

string strHostName = HttpContext.Current.Request.UserHostAddress.ToString();
string IPAddress = System.Net.Dns.GetHostAddresses(strHostName).GetValue(0).ToString();

答案 1 :(得分:0)

以下是另一种方法:

  ' Get your Hostname
  Dim szHost As String = System.Net.Dns.GetHostName()

  ' Get the host entry for said hostname
  Dim hostEntry As System.Net.IPHostEntry = System.Net.Dns.GetHostEntry(szHost)

  ' To get the ip address of the first available net interface:
  Dim ip As System.Net.IPAddress = New System.Net.IPAddress(hostEntry.AddressList(0).GetAddressBytes)

请注意,hostEntry包含AddressList数组,列出了所有活动网络接口的IP地址。

因此,您可能需要检查/过滤它们的相关性。

答案 2 :(得分:0)

以下是用户IP地址的方式。

string clientIp = Request.ServerVariables("HTTP_X_FORWARDED_FOR");

if(string.IsNullOrEmpty(clientIp))
       clientIp = Request.ServerVariables("REMOTE_ADDR")