c# - 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
是空的。你知道为什么吗?为什么ip
null in Httpcontext.Current.Request
?
解决方案
推荐阅读
- minecraft - 有没有办法查看/访问公共 minecraft 服务器的 latest.log?
- sql-server - 如何创建查询以显示本周 sql 的每个日期的总销售额
- visual-studio - C 编译器 cl.exe 无法编译简单的测试程序
- ansible - 在 Ansible 中使用 json_query 查询包含在字典列表中的字典列表
- python - 为什么从 locals() 检索键值在列表理解中不起作用?
- electron - 错误:“请注意,'style-src-elem' 未明确设置”设置时
- php - 具有不同 MySQL 表的可重用 PHP 文件
- c - 在linux中保存和清除终端窗口
- angular - 需要在 Angular 中使用具有唯一值的相同组件超过 2 次
- javascript - 在 React 中使用 api 请求分离包装器