本人做了一个WEB系统,现在怎么记下客户登陆的本地真实IP? 而不是127.0.0.1,也不是服务器上的IP
string IP=Request.UserHostAddress
Request.ServerVariables["REMOTE_ADDR"];
这2个得到的都是服务器上的IP,所以不是我要的结果...

解决方案 »

  1.   

    Request.UserHostAddress,这个就是客户端的IP。谁叫你在自己电脑上访问。你可以找台同局域网的电脑试试就知道了
      

  2.   

    看IIS的日志,记录的比你的详细
      

  3.   

    得到的是客户端的IP或客户端使用的代理的IP
      

  4.   

    现在怎么记下客户登陆的本地IP? 而不是127.0.0.1,也不是服务器上的IP
      

  5.   

    现在怎么记下客户登陆的本地IP? 而不是127.0.0.1,也不是服务器上的IP
      

  6.   

    好象没法子得到真实的ip把,使用代理就是代理的ip 曾看到过这样的,
    private string GetIp()
    {
    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; }
      

  7.   


            string ip = "";
            if (Request.ServerVariables["HTTP_VIA"] != null)
            {
                ip = Request.ServerVariables["HTTP_X_FORWARDED_FOR"].ToString();
            }
            else
            {
                ip = Request.ServerVariables["REMOTE_ADDR"].ToString();
            }
    我用的是这个方法 有代理的取出的是代理的IP
      

  8.   

    Request.UserHostAddress
    Request.ServerVariables["REMOTE_ADDR"]这两个方法应该都可以获取到客户端的IP地址,不知道有没有其他的方法,各位高人请知道。如果楼主获得的IP都是127.0.0.1的话,首先请确认一下你是不是用localhost在进行调试
      

  9.   


    好象没法子得到真实的ip把,使用代理就是代理的ip 曾看到过这样的,
    private string GetIp()
    {
    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;}
    这个看着很像,ASP就是这样的,建议楼主试试!!!
      

  10.   

    string ip = "";
            if (Request.ServerVariables["HTTP_VIA"] != null)
            {
                ip = Request.ServerVariables["HTTP_X_FORWARDED_FOR"].ToString();
            }
            else
            {
                ip = Request.ServerVariables["REMOTE_ADDR"].ToString();
            }
      

  11.   

    现在的问题是公司里的人也要用这个系统,那么领导想记下每台电脑发言的IP地址,我知道他们很多IP都是局域网内的IP,如127.0.0.6,127.0.0.8,127.0.1.121等,但就算是这个局域网内的IP也要记下来,这样就知道是哪台电脑发言了。
    所以我要的结果就是,假如是局域网内的IP,如127.0.0.8,就记下局域网内的IP,假如是外网IP的人发言,如202.132.58.52,那么就记下外网IP。
    string ip_address=Request.UserHostAddress;
    string ip_address=Request.ServerVariables["REMOTE_ADDR"];
    这2个不管是局域网内的任何一台IP发言,可记下的都是同一个IP,如202.101.121.01
    这可不是我要的结果
    救救我吧
    请问.NET代码怎么写啊?
      

  12.   

    使用: Request.ServerVariables如有代理:
       HTTP_X_FORWARDED_FOR  这就是源真实IP
       REMOTE_ADDR           代理服务器IP如无代理
       HTTP_X_FORWARDED_FOR  这项为空
       REMOTE_ADDR           客户IP
      

  13.   

    现在的问题是公司里的人也要用这个系统,那么领导想记下每台电脑发言的IP地址,我知道他们很多IP都是局域网内的IP,如127.0.0.6,127.0.0.8,127.0.1.121等,但就算是这个局域网内的IP也要记下来,这样就知道是哪台电脑发言了。
    所以我要的结果就是,假如是局域网内的IP,如127.0.0.8,就记下局域网内的IP,假如是外网IP的人发言,如202.132.58.52,那么就记下外网IP。
    string ip_address=Request.UserHostAddress;
    string ip_address=Request.ServerVariables["REMOTE_ADDR"];
    这2个不管是局域网内的任何一台IP发言,可记下的都是同一个IP,如202.101.121.01
    这可不是我要的结果
    救救我吧
    请问.NET代码怎么写啊?
      

  14.   

    现在的问题是公司里的人也要用这个系统,那么领导想记下每台电脑发言的IP地址,我知道他们很多IP都是局域网内的IP,如127.0.0.6,127.0.0.8,127.0.1.121等,但就算是这个局域网内的IP也要记下来,这样就知道是哪台电脑发言了。
    所以我要的结果就是,假如是局域网内的IP,如127.0.0.8,就记下局域网内的IP,假如是外网IP的人发言,如202.132.58.52,那么就记下外网IP。
    string ip_address=Request.UserHostAddress;
    string ip_address=Request.ServerVariables["REMOTE_ADDR"];
    这2个不管是局域网内的任何一台IP发言,可记下的都是同一个IP,如202.101.121.01
    这可不是我要的结果
    救救我吧
    请问.NET代码怎么写啊?
      

  15.   

    下载一个WEBCOMM,注册引用后通过下面代码就可以获得了.
            Dim IPaddr As String
            IPaddr = context.Request.ServerVariables("REMOTE_ADDR")
      

  16.   

    现在的问题是公司里的人也要用这个系统,那么领导想记下每台电脑发言的IP地址,我知道他们很多IP都是局域网内的IP,如127.0.0.6,127.0.0.8,127.0.1.121等,但就算是这个局域网内的IP也要记下来,这样就知道是哪台电脑发言了。
    所以我要的结果就是,假如是局域网内的IP,如127.0.0.8,就记下局域网内的IP,假如是外网IP的人发言,如202.132.58.52,那么就记下外网IP。
    string ip_address=Request.UserHostAddress;
    string ip_address=Request.ServerVariables["REMOTE_ADDR"];
    这2个不管是局域网内的任何一台IP发言,可记下的都是同一个IP,如202.101.121.01
    这可不是我要的结果
    救救我吧
    请问.NET代码怎么写啊?
      

  17.   

    我已经回答了哇"下载一个WEBCOMM,注册引用后通过下面代码就可以获得了.
            Dim IPaddr As String
            IPaddr = context.Request.ServerVariables("REMOTE_ADDR")"这个就是VB.NET的代码
    注意要下载一个WEBCOMM.DLL,
      

  18.   

    呵呵
    获取IP不用DLL
    直接用
            Dim IPaddr As String
            IPaddr = context.Request.ServerVariables("REMOTE_ADDR")"
    就行了.
      

  19.   

    本人做了一个WEB系统,现在怎么记下客户登陆的本地真实IP? 而不是127.0.0.1,也不是服务器上的IP
    string IP=Request.UserHostAddress
    Request.ServerVariables["REMOTE_ADDR"];
    这2个得到的都是服务器上的IP,所以不是我要的结果...我要的是绕过代理服务器得到真实的ip
    如客户局一网的IP