获取客户端ip地址的四种方法之间的区别

本文关键字:四种 方法 区别 之间 客户端 ip 地址 获取 | 更新日期: 2023-09-27 18:11:36

Q:

我需要知道以下之间的区别:

Request.ServerVariables["HTTP_X_FORWARDED_FOR"] ;

Request.ServerVariables["REMOTE_ADDR"];
System.Web.HttpContext.Current.Request.UserHostAddress;
System.Net.IPAddress[] strClientIPAddress = System.Net.Dns.GetHostAddresses(Environment.MachineName);

我想获得客户端IP地址(访问该网站的用户(,我对以前的方法感到困惑,哪种方法更准确。

获取客户端ip地址的四种方法之间的区别

我总是使用第三个选项来获取客户端(或用户(的ip地址。

System.Web.HttpContext.Current.Request.UserHostAddress;

前两种方法也做同样的事情。

但是最后一种方法不返回客户端ip,它将返回托管站点的服务器ip。要调用此方法,必须指定主机名或ip地址。但是,Environment.MachineName返回服务器名称,因此它将返回服务器的ip,而不是用户的ip。

有关前两个选项的更多信息,我通过谷歌搜索找到了区别,这里是