当前位置:编程学习 > C#/ASP.NET >>

为什么我获取客户端ip时返回的一直都是服务器ip呢?

详细代码如下
private string GetClientIP()
    {
        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;
    }
网上很多方法都试过了,还是不行,以前这样写是没问题的!!!!不知道怎么回事?求高手解答!!! --------------------编程问答-------------------- 你是在自己电脑上调试的吧 --------------------编程问答-------------------- 肯定是服务器的ip啊, 测试地方不一样啊 --------------------编程问答-------------------- HttpContext.Request.UserHostAddress.ToString(); --------------------编程问答-------------------- 必须不是内网才行,要不你获取的始终是网关的地址。貌似近来这个方法上边修改过。 --------------------编程问答--------------------
引用 1 楼  的回复:
你是在自己电脑上调试的吧
肯定不是啦 --------------------编程问答--------------------
引用 2 楼  的回复:
肯定是服务器的ip啊, 测试地方不一样啊
为什么肯定是服务器ip,哪里地方不一样?我是这样写好之后,放到服务器上本地访问的!!! --------------------编程问答-------------------- 楼主   你那种获取ID方式  本来就是获取服务器的IP    --------------------编程问答--------------------
引用 4 楼  的回复:
必须不是内网才行,要不你获取的始终是网关的地址。貌似近来这个方法上边修改过。
不是内网啦,在外网访问的!!!! --------------------编程问答--------------------
引用 7 楼  的回复:
楼主   你那种获取ID方式  本来就是获取服务器的IP
但是以前就是ok的,最近不知道怎么回事就不行了!!!求解!!! --------------------编程问答--------------------  
string result = HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];

你这个不是获取服务端的IP么? --------------------编程问答-------------------- 你的程序本来就是获取服务器的IP  --------------------编程问答--------------------
引用 10 楼  的回复:
 C# code
string result = HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];


你这个不是获取服务端的IP么?
这个怎么是获取服务端ip的呢,这是判断代理ip的 --------------------编程问答--------------------
引用 11 楼  的回复:
你的程序本来就是获取服务器的IP
请教高手给个获取客户端ip的代码 --------------------编程问答-------------------- HttpContext.Request.UserHostAddress --------------------编程问答--------------------
引用 14 楼  的回复:
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
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,