0

标准自定义 WebPart 中的此代码:

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

}

正在返回:"fe80::c564:7922:d873:5cf5%11"而不是有效的 IP 地址。它对我在 Google 上找到的用于检索它的每种方法都执行此操作,包括 HttpRequest.UserHostAddress。

有谁知道发生了什么?

编辑:由于某种原因,它在本地加载页面时给了我 IPv6,但是当我从另一台机器访问时按预期工作:/

4

1 回答 1

-1

用这个,

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
于 2013-07-22T19:13:33.677 回答