可能重复:
Client IP using C#
我使用ASP.net和C#,我想知道如何从页面上的访问者那里获取IP地址。
我想看一个检索IP地址的代码示例,并且还能够显示IP是否在代理服务器后面。
感谢您的时间。
答案 0 :(得分:9)
您可以在Request对象上使用UserHostName属性:
string ip = Request.UserHostName;
就您关于代理的第二个问题而言,没有可靠的方法来实现这一目标。您可以使用启发式方法查找可能由代理服务器发送的某些HTTP请求标头,例如Via
或X-Forwarded-For
。
string header = Request.Headers["Via"] ?? Request.Headers["X-Forwarded-For"];
if (!string.IsNullOrEmpty(header))
{
// probably the request was forwarded from a proxy server
// but you cannot be 100% sure as HTTP request headers can be faked
}
答案 1 :(得分:-1)
这么简单的老兄,
string IP = Request.ServerVariables["REMOTE_HOST"].ToString();