我用Request.ServerVariables["Remote_Addr"];得到客户端IP
然后我想根据这个IP来判断他是属于电信还是网通
求达人解答一下我该怎么去判断

解决方案 »

  1.   

    http://www.ip138.com/WebRequest myWebRequest = WebRequest.Create("http://www.ip138.com/");
                    WebResponse myWebResponse = null;
                    try {
                        myWebResponse = myWebRequest.GetResponse();
                    }
                    catch {
                        AddMsg(DateTime.Now + ":连接失败。");
                    }                Stream myStream = myWebResponse.GetResponseStream();
                    Encoding encode = System.Text.Encoding.GetEncoding("UTF-8");
                    StreamReader myStreamReader = new StreamReader(myStream, encode);
                    string strhtml = myStreamReader.ReadToEnd();
                    myWebResponse.Close();
    //解析strhtml串得到ip所属
    //...
      

  2.   

    WebRequest myWebRequest = WebRequest.Create(string.Format("http://www.ip138.com/ips.asp?ip={0}&action=2",Request.ServerVariables["Remote_Addr"]));
                    WebResponse myWebResponse = null;
                    try {
                        myWebResponse = myWebRequest.GetResponse();
                    }
                    catch {
                        AddMsg(DateTime.Now + ":连接失败。");
                    }                Stream myStream = myWebResponse.GetResponseStream();
                    Encoding encode = System.Text.Encoding.GetEncoding("UTF-8");
                    StreamReader myStreamReader = new StreamReader(myStream, encode);
                    string strhtml = myStreamReader.ReadToEnd();
                    myWebResponse.Close();
    //解析strhtml串得到ip所属
    //...
      

  3.   

    电信的IP和网通的IP段是不同的,首先你要知道这个通信,然后根据客户端IP判断
      

  4.   

    非常感谢fellowcheng
    但是我想经过代码实现,如果ip138上不去了那就悲剧了
    但是还是感谢你
    int64,电信的IP和网通的IP段我不知道应该如何取判断,能解答下吗
      

  5.   

    下载一个纯真IP数据库,不但知道IP运营商,而且还可以知道归属地
      

  6.   

    可以下载一个ip地址库,在本地做判断,要不就找webservice。