2012-09-12 57 views
3

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

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.2; 118.139.172.3; 118.139.172.4; 118.139.172.5; 118.139。 172.6; 118.139.172.7; 118.139.172.8; 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)。

请指导我在哪里错了

回答

10

如果您正在使用asp.net可以使用:

Request.UserHostAddress

,让您的客户端IP地址

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

+0

我部署我的Windows服务器上的网站。它给了我多个ip.Can你可以请指导我如何得到netid和比较所有ip –

+0

@amrKamboj你想知道什么ip?你想在你的网站上运行你的客户端IP地址或主机的IP地址吗? – Karamafrooz

+0

我想获取客户端IP而不是主机IP。 –

1

这完美的工作对我来说

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

+1

我只以这种方式获得IPv6。 – rdtsc