在web程序中,如何获取客户端的ip地址?有相关的代码吗?

解决方案 »

  1.   

    Request就可以获得,但是那个IP没什么意义,因为大部分人都是通过局域网上互联网
    你获得的那个IP是本机IP正确的方法应该是客户端发送一个请求给服务器端,服务器端解析出请求的IP
      

  2.   

    /获取用户IP
    string UserIP;
    UserIP = Request.UserHostAddress;
    UserIP=UserIP.ToString().Trim();
      

  3.   

    Request.UserHostAddress.ToString().Trim();
      

  4.   

    1. 在ASP.NET中专用属性: 
            获取服务器电脑名:Page.Server.ManchineName 
            获取用户信息:Page.User 
            获取客户端电脑名:Page.Request.UserHostName 
            获取客户端电脑IP:Page.Request.UserHostAddress 
            2. 在网络编程中的通用方法: 
            获取当前电脑名:static System.Net.Dns.GetHostName() 
            根据电脑名取出全部IP地址:static System.Net.Dns.Resolve(电脑名).AddressList 
            也可根据IP地址取出电脑名:static System.Net.Dns.Resolve(IP地址).HostName 
            3. 系统环境类的通用属性: 
            当前电脑名:static System.Environment.MachineName 
            当前电脑所属网域:static System.Environment.UserDomainName 
            当前电脑用户:static System.Environment.UserName              举例子来说明:              using System.Net; 
                  private void ButtonIP_Click(object sender, System.EventArgs e) 
                  {  
                      System.Net.IPAddress[] addressList = Dns.GetHostByName(Dns.GetHostName()).AddressList; 
                      if (addressList.Length>1) 
                      {   
                          TextLIP.Text = addressList[0].ToString(); 
                          TextSIP.Text = addressList[1].ToString(); 
                      } 
                     else 
                     { 
                          TextLIP.Text = addressList[0].ToString(); 
                          TextSIP.Text = "没有可用的连接"; 
                     }
                 }
      

  5.   

    string userip = Request.ServerVariables["HTTP_X_FORWARDED_FOR"].ToString();
    if (userip.Length == 0)
    {
        userip = Request.ServerVariables["REMOTE_ADDR"].ToString(); 
    }