获取用户';共享点Web部件中的IP地址没有提供有效的IP地址

本文关键字:地址 IP 有效 用户 共享 Web 获取 | 更新日期: 2023-09-27 18:24:22

标准自定义WebPart:中的这段代码

private string GetUserIP()
{
     return Request.ServerVariables["HTTP_X_FORWARDED_FOR"] ?? Request.ServerVariables["REMOTE_ADDR"];

}

正在返回:"fe80::c564:7922:d873:5cf5%11",而不是有效的IP地址。它对我在谷歌上找到的每一个检索方法都是这样做的,包括HttpRequest.UserHostAddress.

有人知道发生了什么事吗?

编辑:由于某些原因,在本地加载页面时,它会为我提供IPv6,但当我从其他机器访问时,它可以正常工作:/

获取用户';共享点Web部件中的IP地址没有提供有效的IP地址

使用这个,

string ip = HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
if (string.IsNullOrEmpty(ip))
{
    ip = HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];
}

或者使用

string ipAddress = Request.UserHostAddress