各位高手:   
        在C#中怎样判断一个IP地址是Internet地址还是Intranet地址 ,另外在内网中用代码可以获得局域网中IP,但如何获得外网IP?.希望大家不吝赐教,谢谢

解决方案 »

  1.   

    string StrIp=HttpContext.Current.Request.UserHostAddress;
      

  2.   

    Intranet地址也有可能跨网关的呀, 所以还是不好区分的,除非知道通向外网的路由设置
      

  3.   

    请问 liubin911() 
    string StrIp=HttpContext.Current.Request.UserHostAddress;
    这个方法可以在winform中使用吗
    我运行了一下,报未将对象引用到实例的错误HttpContext.Current==null引发了,这个啥原因啊,是不是c/s中不能使用 ?,谢谢
      

  4.   

    那在c/s中有没有啥好点的办法判断机器是Internet地址还是Intranet地址.另外内网中用代码可以获得局域网中IP,但有如何获得外网IP呢?
      

  5.   

    还是从IP上入手判断么?比如 if( Text.IsIPAddress(temparyip[i])
                                    && temparyip[i].Substring(0,3)!=“10.“
                                    && temparyip[i].Substring(0,7)!=“192.168“
                                    && temparyip[i].Substring(0,7)!=“172.16.“)
    这样筛选出来就是外网IP?
    感觉还是有局限性的啊,谢谢tete(N多Flash-www.ndflash.com),能说具体点么