如何在Web服务器上获取用户的IP地址?

时间:2013-06-17 10:53:27

标签: c# asp.net

我有一个问题是将用户的IP地址导入Web服务器。 我正在使用此代码..

//To get the local IP address 
            string sHostName = Dns.GetHostName();
            IPHostEntry ipE = Dns.GetHostByName(sHostName);
            IPAddress[] IpA = ipE.AddressList;
            for (int i = 0; i < IpA.Length; i++)
            {
                Console.WriteLine("IP Address {0}: {1} ", i, IpA[i].ToString());
                string IPAddress= IpA[i].ToString();//ip;// IPAddress;// strIPAddress;
            }

由于这个原因,我将用户IP地址准确地提供给本地主机,但是当我将我的网站上传到网络服务器时,所有用户的IP地址都与服务器IP地址相同...请各位帮助我。

4 个答案:

答案 0 :(得分:4)

该代码将为您提供服务器的IP地址。

您可以使用以下属性访问用户的IP地址:Request.UserHostAddress

答案 1 :(得分:2)

获取用户的IP地址

Request.ServerVariables("REMOTE_ADDR")
or
Request.UserHostAddress

要获取本机的IP地址而不是代理,请使用以下代码

Request.ServerVariables["HTTP_X_FORWARDED_FOR"];

此链接可为您提供更多帮助..

http://www.codeproject.com/Questions/260872/How-to-get-client-IP-in-asp-net-Csharp

答案 2 :(得分:0)

您使用的代码仅适用于Windows应用程序(客户端服务器架构) 但是要在Web应用程序中获取用户IP地址,您需要使用

Request.UserHostAddress

答案 3 :(得分:0)

无论您多么努力,您都只能使用Asp.Net中的服务器端代码获取服务器IP,但是本文中介绍的方法将允许您使用javascript访问客户端ip。 https://www.c-sharpcorner.com/blogs/getting-client-ip-address-or-local-ip-address-in-javascript