asp.net – 获取用户的IP地址
发布时间:2020-12-16 00:47:54 所属栏目:asp.Net 来源:网络整理
导读:如何获取当前访问者的IP地址? 解决方法 编辑:还发现一个有趣的问题,关于IP相关的HTTP头 here。 Edit2:如上面提供的注释和链接中所述,HTTP_X_FORWARDED_FOR头可能包含多个以逗号分隔的IP地址。我没有面对这种情况,但假设需要对我的回答进行一些更正。
如何获取当前访问者的IP地址?
解决方法
编辑:还发现一个有趣的问题,关于IP相关的HTTP头
here。
Edit2:如上面提供的注释和链接中所述,HTTP_X_FORWARDED_FOR头可能包含多个以逗号分隔的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; } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 2.为EF Code-First设置开发环境
- asp.net core系列 37 WebAPI 使用OpenAPI (swagger)中间件
- asp.net – 从C#代码增加Http Runtime MaxRequestLength
- asp.net-mvc-2 – 如何在MVC.NET 2中使用ReportViewer 2010
- AutoMapper系列:介绍、使用
- asp.net-mvc – 如何使用Asp.net MVC验证列表属性是否具有最
- asp.net – updatepanel中的文本框的问题 – 不会导致OnTex
- ASP.Net/web.config – “条目’x’已经输入”?
- asp.net-mvc-3 – 在Dbcontext中的.NET MVC 3回滚
- Azure中的ASP.NET会话状态提供程序[closed]
推荐文章
站长推荐
- .net-core – 存储Azure Vault客户端ID和客户端密
- asp.net-mvc – ASP.NET MVC:Action中的授权 –
- asp.net – 如何使用GridView和ObjectDataSource
- asp.net-mvc – ASP.NET MVC单元测试 – 假存储库
- asp.net页面如何知道哪个按钮触发了回发?
- asp.net – Html-Agility-Pack没有加载包含完整内
- asp.net – CSS压缩和组合/ js缩小 – 在运行时或
- asp.net – 如何从URL抓取.aspx页面名称?
- asp.net – 来自ASHX处理程序的Sever.Transfer,H
- asp.net – Response.End()和Response.Flush()之
热点阅读