gpt4 book ai didi

asp.net - 获取用户的IP地址

转载 作者:行者123 更新时间:2023-12-03 12:04:32 24 4
gpt4 key购买 nike

如何获得当前访问者的IP地址?

最佳答案

编辑:还发现了一个有趣的问题,涉及与IP相关的HTTP header here

Edit2:如评论和上面提供的链接中所述,HTTP_X_FORWARDED_FOR header 可能包含多个IP地址,以逗号分隔。我没有遇到这种情况,但是认为需要对我的答案进行一些更正。

我使用以下代码来获取IP地址(如果由于某种原因而失败,它将返回IPAddress.None值):

    /// <summary>
/// Gets the IP address of the request.
/// <remarks>
/// This method is more useful than built in because in some cases it may show real user IP address even under proxy.
/// <summary>
/// Gets the IP address of the request.
/// <remarks>
/// This method is more useful than built in because in some cases it may show real user IP address even under proxy.
/// The <see cref="System.Net.IPAddress.None" /> value will be returned if getting is failed.
/// </remarks>
/// </summary>
/// <param name="request">The HTTP request object.</param>
/// <returns></returns>
public static IPAddress GetIp(this HttpRequest request)
{
string ipString;
if (string.IsNullOrEmpty(request.ServerVariables["HTTP_X_FORWARDED_FOR"]))
{
ipString = request.ServerVariables["REMOTE_ADDR"];
}
else
{
ipString = request.ServerVariables["HTTP_X_FORWARDED_FOR"].Split(",".ToCharArray(), StringSplitOptions.RemoveEmptyEntries)
.FirstOrDefault();
}

IPAddress result;
if (!IPAddress.TryParse(ipString, out result))
{
result = IPAddress.None;
}

return result;
}

关于asp.net - 获取用户的IP地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2620932/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com