我一直试图弄清楚这一点,但在向 asp.net 中适用于所有服务器的页面发出请求时,找不到可靠的方法来获取客户端 IP 地址。
Carson
问问题
50784 次
8 回答
36
一种方法是使用 Request 对象:
protected void Page_Load(object sender, EventArgs e)
{
lbl1.Text = Request.UserHostAddress;
}
于 2009-05-15T04:37:50.300 回答
8
IpAddress=HttpContext.Current.Request.UserHostAddress;
于 2015-07-02T20:59:49.990 回答
5
Request.ServerVariables["REMOTE_ADDR"]
要访问 C# 上的索引或属性,您应该使用 [ ] 而不是 ( )
于 2009-05-15T04:36:29.100 回答
0
如果客户端和服务器之间有代理。可以使用HTTP_X_FORWARDED_FOR标头。
var ips = HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
var clientIp = "";
if (!string.IsNullOrEmpty(ips))
{
string[] addresses = ips.Split(',');
if (addresses.Length != 0)
{
clientIp = addresses[0];
}
}
else
{
clientIp = HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];
}
于 2021-02-11T11:12:39.300 回答
0
您可以将 HttpContext 与以下属性一起使用:
var _request1 = HttpContext.Current.Request.UserHostAddress;
string requestedDomain = HttpContext.Current.Request.ServerVariables["HTTP_HOST"];
string requestScheme = HttpContext.Current.Request.Url.Scheme;
string requestQueryString = HttpContext.Current.Request.ServerVariables["QUERY_STRING"];
string requestUrl = HttpContext.Current.Request.ServerVariables["URL"];
于 2021-09-24T06:22:38.927 回答
0
System.Web.HttpContext.Current.Request.UserHostAddress;
于 2017-11-01T07:49:23.320 回答
0
试试这个代码:
var IpAddress = Request.Headers["Referer"][0];
于 2020-07-16T16:33:58.063 回答
0
使用此代码:
public static string GetIpAddress()
{
return HttpContext.Current != null ? HttpContext.Current.Request.UserHostAddress : "";
}
于 2017-08-01T09:31:48.373 回答