我获得IP的方法是
public static string GetIP()
        {
            string result = String.Empty;            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;
            }            if (null == result || result == String.Empty || !IsIP(result))
            {
                return "0.0.0.0";
            }            return result;
        }
但得到的IP是 121.14.250.64 (广东省揭阳市揭阳电信)但我在网上看到我当前的IP是58.248.188.127(广州) 《=这个才是我真实的位置请问是什么原因呢?我的代码有问题么?

解决方案 »

  1.   

    1.你加的网是铁通的,以前我在学校时连的是铁通的网,IP是不固定的,因为铁通的IP是虚拟出来的
    2.你可以借助IP138网站来获取你真实IP,用一个webbrowser控件,只是一个思路
      

  2.   

    string ip;
            try
            {
                HttpRequest request = HttpContext.Current.Request;            if (request.ServerVariables["HTTP_VIA"] != null)
                {
                    ip = request.ServerVariables["HTTP_X_FORWARDED_FOR"].ToString().Split(',')[0].Trim();
                }
                else
                {
                    ip = request.UserHostAddress;
                }
            }
            catch (Exception e)
            {
                throw e;
            }
    或通过webrequest获取网站内容,获取IP地址
    http://topic.csdn.net/u/20090322/01/3AA46184-E9BE-45B9-9DA9-3C6B8829B04A.html