首页 > 解决方案 > HTTPContext.Current.Request IP 地址为空

问题描述

我需要在 asp.net 控制器中获取客户端的 IP 地址。

我使用此代码:

string ip = string.Empty;
if (request.IsSecureConnection)
    ip = request.ServerVariables["REMOTE_ADDR"];
if (string.IsNullOrWhiteSpace(ip))
{
    ip = request.ServerVariables["HTTP_X_FORWARDED_FOR"];
    if (string.IsNullOrWhiteSpace(ip))
    {
        ip = request.UserHostAddress;
    }
    else
    {
        if (ip.IndexOf(",", StringComparison.Ordinal) > 0)
        {
            ip = ip.Split(',').Last();
        }
    }
}

有时ip是空的。你知道为什么吗?为什么ipnull in Httpcontext.Current.Request

标签: c#asp.net

解决方案


推荐阅读