ASP.NET获取IP的6种方法
来源:互联网 发布:电视机app软件 编辑:程序博客网 时间:2024/06/05 16:10
服务端:
//方法一HttpContext.Current.Request.UserHostAddress; //方法二HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];//方法三string strHostName = System.Net.Dns.GetHostName();string clientIPAddress = System.Net.Dns.GetHostAddresses(strHostName).GetValue(0).ToString();//方法四(无视代理)HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
客户端:
//方法五var ip = '<!--#echo var="REMOTE_ADDR"-->';alert("Your IP address is "+ip);//方法六(无视代理)function GetLocalIPAddress() { var obj = null; var rslt = ""; try { obj = new ActiveXObject("rcbdyctl.Setting"); rslt = obj.GetIPAddress; obj = null; } catch(e) { // } return rslt; }
22日添加:
来自印度的MCT Maulik Patel提供了一种服务端的解决方案,很好:
if(Context.Request.ServerVariables["HTTP_VIA"]!=null) // using proxy{ ip=Context.Request.ServerVariables["HTTP_X_FORWARDED_FOR"].ToString(); // Return real client IP.}else// not using proxy or can't get the Client IP{ ip=Context.Request.ServerVariables["REMOTE_ADDR"].ToString(); //While it can't get the Client IP, it will return proxy IP.}
备注:
1. 有些代理是不会发给我们真实IP地址的
2. 有些客户端会因为“header_access deny”的安全设置而不发给我们IP
作者:Lance Zhang(Lance Zhang's Tech Blog)
出处:http://blodfox777.cnblogs.com/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
- ASP.NET获取IP的6种方法
- ASP.NET获取IP的6种方法
- ASP.NET获取IP的6种方法
- ASP.NET获取IP的6种方法
- ASP.NET获取IP的6种方法
- ASP.NET获取IP的6种方法
- ASP.NET获取IP的6种方法
- ASP.NET获取IP的6种方法
- asp.net中获取IP的方法
- ASP.NET获取ip地址的方法
- ASP.NET获取访问者IP的方法
- ASP.NET 获取IP地址的几种方法
- ASP.NET获取IP的几种方法
- ASP.NET获取真正的客户端IP地址的6种方法
- ASP.NET获取真正的客户端IP地址的6种方法
- ASP.NET获取真正的客户端IP地址的6种方法
- asp.net中获取客户端IP的方法
- ASP.NET获取IP与MAC地址的方法
- 二叉树中找出和为某一值的所有路径
- 【Apache Solr系列之二】Apache Solr 4.5.1及MYSQL数据增量索引
- 中国黑客必知必去的十大黑客网站,三大黑客杂志
- 各种排序算法及其java程序实现
- C# Regex.IsMatch()正则表达式验证
- ASP.NET获取IP的6种方法
- 新注册
- C指针原理(19)-C指针基础
- Eclipse插件:Eclipse Color Theme
- e-share
- mysql SQL分析常用工具
- UBUNTU13.10下安装NFS
- 详解abstract class和interface的本质
- 关于matlab中图像太大只能缩小显示问题的解决