【问题标题】:The difference among four ways to get the client ip address四种获取客户端ip地址的方法的区别
【发布时间】:2011-12-08 17:15:06
【问题描述】:

问:

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

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 地址(访问该站点的用户),我对前面的方法感到困惑,哪个更准确。

【问题讨论】:

标签: c# asp.net http .net-3.5 ip-address


【解决方案1】:

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

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

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

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

有关前两个选项的更多信息,我通过谷歌搜索发现了不同之处,here it is

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-11-13
    • 1970-01-01
    • 2019-01-14
    • 2015-03-01
    • 2015-01-29
    • 2013-07-07
    • 2011-05-26
    • 2015-05-05
    相关资源
    最近更新 更多