3

我正在尝试使用 vb.net 获取客户端 ID。我的代码如下:

Partial Class foo
  Inherits System.Web.UI.Page
  Private ipv4 As New clsIPv4
  Dim ref As String = 0   

  Dim client_ip As String
  client_ip = Request.UserHostAddress()
  Dim myHost As String = System.Net.Dns.GetHostName()
  client_ip = ipv4.ResolveAddress(myHost)

此代码正在返回我的IP地址列表(即182.50.130.143; 118.139.172.1; 118.139.172.3; 118.139.172.4; 118.139.172.5; 118.139.172.7; 118.139.172.8; 118.139.172.9; 118.139.172.9; 118.139.172.9 ; 118.139.172.10; 118.139.172.11; 118.139.172.12; 118.139.172.13; 118.139.172.14; 118.139.172.15; 118.139.172.16; 118.139.172.17; 118.139.172.18; 118.139.172.19; 118.139.172.20; 118.139.172.21; 118.139 .172.22;118.139.172.23;118.139.172.24;118.139.172.25;118.139.172.26;118)。

请指导我哪里错了

4

2 回答 2

11

如果您使用的是 ASP.NET,则可以使用:Request.UserHostAddress 来获取您的客户端 IP 地址。

但是如果你使用windows应用程序获取本地IP地址,实际上你可能会收到多个IP地址!在这种情况下,如果您想获得一个您知道 IP 地址的 netid 部分的特定地址,您可以将所有 IP 地址与相应的 netid 地址进行比较。

于 2012-09-12T18:23:07.370 回答
2

这对我来说非常有用

System.Net.Dns.GetHostAddresses(System.Net.Dns.GetHostName()).GetValue(0).ToString()

于 2014-09-22T18:56:24.430 回答