为什么我获取客户端ip时返回的一直都是服务器ip呢?
详细代码如下private string GetClientIP()网上很多方法都试过了,还是不行,以前这样写是没问题的!!!!不知道怎么回事?求高手解答!!! --------------------编程问答-------------------- 你是在自己电脑上调试的吧 --------------------编程问答-------------------- 肯定是服务器的ip啊, 测试地方不一样啊 --------------------编程问答-------------------- HttpContext.Request.UserHostAddress.ToString(); --------------------编程问答-------------------- 必须不是内网才行,要不你获取的始终是网关的地址。貌似近来这个方法上边修改过。 --------------------编程问答-------------------- 肯定不是啦 --------------------编程问答-------------------- 为什么肯定是服务器ip,哪里地方不一样?我是这样写好之后,放到服务器上本地访问的!!! --------------------编程问答-------------------- 楼主 你那种获取ID方式 本来就是获取服务器的IP --------------------编程问答-------------------- 不是内网啦,在外网访问的!!!! --------------------编程问答-------------------- 但是以前就是ok的,最近不知道怎么回事就不行了!!!求解!!! --------------------编程问答--------------------
{
string result = HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
if (null == result || result == String.Empty)
{
result = HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];
}
if (null == result || result == String.Empty)
{
result = HttpContext.Current.Request.UserHostAddress;
}
return result;
}
string result = HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
你这个不是获取服务端的IP么? --------------------编程问答-------------------- 你的程序本来就是获取服务器的IP --------------------编程问答-------------------- 这个怎么是获取服务端ip的呢,这是判断代理ip的 --------------------编程问答-------------------- 请教高手给个获取客户端ip的代码 --------------------编程问答-------------------- HttpContext.Request.UserHostAddress --------------------编程问答-------------------- 这个已经试过了,不行,麻烦不要再贴了 --------------------编程问答-------------------- 本地访问 显示的是 访问的服务端ip 比如 127.x.x.x 192.x.x.x
要通过外网访问;比如放在虚拟机里 --------------------编程问答-------------------- 今天也遇到同样的问题了,试试是否是服务器端ISA防火墙设置问题。
http://www.cnblogs.com/cnaspnet/archive/2008/07/05/1236181.html
http://www.cnblogs.com/yukaizhao/archive/2008/05/16/client_real_ip.html
补充:.NET技术 , ASP.NET