首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

asp.net 怎的获取局域网中客户端的真实外网IP

2013-04-02 
asp.net 怎样获取局域网中客户端的真实外网IPResponse.Write(1br/ + HttpContext.Current.Request.Ser

asp.net 怎样获取局域网中客户端的真实外网IP
Response.Write("1<br/>" + HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"] + "<br/>");
            Response.Write("2<br/>" + HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"] + "<br/>");
            Response.Write("3<br/>" + HttpContext.Current.Request.UserHostAddress + "<br/>");
            Response.Write("4<br/>" + System.Net.Dns.GetHostAddresses(System.Net.Dns.GetHostName()).GetValue(0).ToString() + "<br/>");



这几种方法都不行,获取的都是局域网内的IP,我想得到的是像你打开http://www.ip138.com
的这种IP,我就想判断IP是不是电信的,咋就这么难。。。 asp.net 获取IP
[解决办法]
放在互联网上测试就可以看到互联网IP了,在局域网或本机测试是看不到互联网IP的,因为这种情况不需要经历任何互联网的节点。
[解决办法]

引用:
Response.Write("1<br/>" + HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"] + "<br/>");
            Response.Write("2<br/>" + HttpContext.Current.Request.ServerVariable……


你的网站放在那里?是不是局域网和互联网都能同时访问?

[解决办法]
你网站不是放在外网吧,这样当然不行吧
[解决办法]
引用:
引用:Response.Write("1<br/>" + HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"] + "<br/>");
            Response.Write("2<br/>" + HttpContext.Current.Re……



似乎是这样的
[解决办法]
/// 获得客户端IP
    /// 
    /// <returns></returns>
    private string getIp()
    {
        // 穿过代理服务器取远程用户真实IP地址
        string Ip = string.Empty;
        if (Request.ServerVariables["HTTP_VIA"] != null)
        {
            if (Request.ServerVariables["HTTP_X_FORWARDED_FOR"] == null)
            {
                if (Request.ServerVariables["HTTP_CLIENT_IP"] != null)
                    Ip = Request.ServerVariables["HTTP_CLIENT_IP"].ToString();
                else
                    if (Request.ServerVariables["REMOTE_ADDR"] != null)
                        Ip = Request.ServerVariables["REMOTE_ADDR"].ToString();


                    else
                        Ip = "202.96.134.133";
            }
            else
                Ip = Request.ServerVariables["HTTP_X_FORWARDED_FOR"].ToString();
        } 
        else if (Request.ServerVariables["REMOTE_ADDR"] != null)
        {
            Ip = Request.ServerVariables["REMOTE_ADDR"].ToString();
        }
        else
        {
            Ip = "202.96.134.133";
        }
        return Ip;
    }


测试看看,另外,有一种工具叫VPN,改IP也不是什么新鲜事。

热点排行