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

急求,获取内网IP地址,在线等........

有没有办法获取无线路游内,某台机器的内网IP ?
无线路游的IP是:192.168.112.200 假使有10台机器通过无线路游上网,这10台机器的内网IP分别是: 192.168.1.100-192.168.1.109
现在想获取这10机器分别使用的IP,如: 192.168.1.101,但是现在不管获取哪台机器,内网IP都是:192.168.112.200(无线路游的IP)
是B/S的模式,10台连接无线的客户端,访问一个WEB服务器,然后取客户端的IP
使用如下方法:

一、只能取到无线路游的IP是:192.168.112.200 
            public string getIP()//注意与static 的区别
            {
                System.Net.IPAddress[] addressList = Dns.GetHostByName(Dns.GetHostName()).AddressList;//获取本机内网IP
                string strgetIP = addressList[0].ToString();
                return strgetIP;
            }

二、只能获取到:127.0.0.1
     Console.WriteLine("内网: "+Page.Request.UserHostAddress);

谢谢! --------------------编程问答-------------------- sf --------------------编程问答-------------------- 三、下面的方法也只能取到127.0.0.1
    public 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地址啊。

友情帮顶…… --------------------编程问答-------------------- 没办法获取 --------------------编程问答-------------------- 以前有看过该问题,不记得答案了,

友情帮顶…… --------------------编程问答-------------------- 只做过获取IP 的! --------------------编程问答-------------------- Request.UserHostAddress --------------------编程问答-------------------- 有点困难哦 --------------------编程问答--------------------
//获取客户端的IP地址
TextBox1.Text = Request.UserHostAddress;//或TextBox1.Text=Request.ServerVariables ["REMOTE_ADDR"];
//获取服务器的主机名
string hostName = Dns.GetHostName();//引入命名空间System.Net
//获取服务器的IP地址
IPAddress[] ips;
ips = Dns.GetHostAddresses(hostName);
foreach ( IPAddress ip in ips)
{
   TextBox2.Text = ip.ToString( );
}
--------------------编程问答-------------------- 获取不到了,不要贴代码了
--------------------编程问答-------------------- 试试这个
    abstract public class RealIp
    {
        const string HEADER_KEY_IP = "X-Forwarded-For";

        /**/
        /// <summary>
        /// 真实ip
        /// </summary>
        public static string Value
        {
            get
            {
                HttpRequest request = HttpContext.Current.Request;
                string ip = string.Empty;
                string ipHeader = request.Headers[HEADER_KEY_IP];

                if (!string.IsNullOrEmpty(ipHeader))
                {
                    string[] IPs = ipHeader.Split(',');
                    foreach (string ipItem in IPs)
                    {
                        if ((!string.IsNullOrEmpty(ipItem)) && (!IsLocalIP(ipItem)))
                        {
                            ip = ipItem;
                            break;
                        }
                    }
                }
                if (ip == string.Empty) ip = request.UserHostAddress;
                return ip;
            }
        }

        static bool IsLocalIP(string ip)
        {
            return ip.StartsWith("192.168.") || ip.StartsWith("172.16.") || ip.StartsWith("10.");
        }
    }
--------------------编程问答-------------------- 楼上的方法,也只能取到:127.0.0.1 --------------------编程问答-------------------- 没办法的,除非你在路由上作手脚 --------------------编程问答-------------------- 我做过取电脑的名称的,不知道你需不需要! --------------------编程问答-------------------- if (!IsPostBack)
            {
                userName = Session["userName"].ToString();
                string ip = Request.UserHostAddress.ToString();            //获取访问电脑的用户名
                IPAddress add = IPAddress.Parse(Request.UserHostAddress);
                IPHostEntry ihe = Dns.GetHostEntry(add);
                userMach = ihe.HostName;
                
            }
你看看行不行 --------------------编程问答-------------------- 你通过内网的ip访问不就ok了吗?别用localhost。
用192.168.1.123 --------------------编程问答-------------------- using System.Net;

Page.Request.UserHostAddress

就这么简单的一句,你试试吧。
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,