http://www.baidu.com/s?wd=ip
PHP
都取对了。c#取成了其它值。一点都不搭边啊。怎么回事呢?
    private void GetIP(){
ip = Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
if(ip == null || ip == "")ip = Request.ServerVariables["REMOTE_ADDR"];
if(ip == null || ip == "")ip = Request.UserHostAddress;
if(ip == null || ip == "")ip = "";
    }

解决方案 »

  1.   

    ip=Request.ServerVariables["REMOTE_ADDR"];
    这样正确不?
      

  2.   

    就是不正确啊。 想不到net C#这么弱啊。
      

  3.   

    UserHostAddress 这个不就是取ip的吗?
      

  4.   


    你打开百度或其他,读取到肯定是你外网的IP。
    你在本机发布的程序,在本机通过内网IP访问肯定读取不到外网IP。
      

  5.   

    问题是你这个在哪里调用的?Request上下文是什么?
      

  6.   

    你取到的是不是内网或者VPN的ip?
      

  7.   

    http://www.zanzw.com/t1.aspx
    自己看吧
    //代码如下
        private string GetIP(){
    string ip = Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
    if(ip == null || ip == "")ip = Request.ServerVariables["REMOTE_ADDR"];
    if(ip == null || ip == "")ip = Request.UserHostAddress;
    if(ip == null || ip == "")ip = "";
    return ip;
        }
      

  8.   

    记有个含...Agent..的属性,不知有人知否?可以用一下。
      

  9.   

    http://www.zanzw.com/t1.aspx

    http://www.baidu.com/s?wd=ip
    百度正确。还有我在其它空间用PHP的也正确