获取 HTTP 客户端的 IP 地址
本文关键字:IP 地址 客户端 HTTP 获取 | 更新日期: 2023-09-27 18:35:55
我尝试获取向服务器发送HTTP请求的客户端的IP地址和端口。我使用了HttpListenerRequest
类的属性。 UserHostAddress
属性返回服务器的 IP 和端口,但不返回客户端。 RemoteEndPoint
返回一些 ip 和端口,但它不是真正的客户端 ip(我知道客户端请求来自端口 1234),并且每次它返回不同的数据(我不知道为什么)。我该如何解决这个问题?也许我应该在客户端设置http标头From
?
谢谢!
基于 SO 答案,我认为这会对您有所帮助......
protected void GetUser_IP()
{
string VisitorsIPAddr = string.Empty;
if (HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"] != null)
{
VisitorsIPAddr = HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"].ToString();
}
else if (HttpContext.Current.Request.UserHostAddress.Length != 0)
{
VisitorsIPAddr = HttpContext.Current.Request.UserHostAddress;
}
uip.Text = "Your IP is: " + VisitorsIPAddr;
}