有一个数据库名为:ip
有字段:
srartip(字符型)
endip(字符型)
city(字符型)
相对应的数据有:(其实就是从珊瑚虫QQ中把IP导出来的)startip                  endip          ciry
192.168.0.1          192.168.0.255     局域网
218.25.0.1           218.25.255.255    沈阳市
....我想实现的功能是通过从网页中获取上网者IP,然后根据IP显示其用户的地理位置,请问这样的代码该怎么写呢?

解决方案 »

  1.   

    下面是转换的函数
    internal string IP2string (string ip)
    {
    string[] strs = ip.Split('.');
    System.Text.StringBuilder builder = new System.Text.StringBuilder();
    foreach( string s in strs )
    {
    int num = Int32.Parse(s);
    builder.Append(num.ToString("000"));
    }
    return builder.ToString();

    现在所要解决的就是循环把数据取出来,然后在以三位数的方式存回数据库,比如说
    192.168.0.2存回到数据库中为192168000002
      

  2.   

    string User_IP=Request.ServerVariables["REMOTE_ADDR"].ToString(); //获取远程用户的IP
    string compareUser_IP1=User_IP.Substring(0,User_IP.LastIndexOf("."));
    string compareUser_IP=compareUser_IP1.Substring(0,compareUser_IP1.LastIndexOf("."));if(compareUser_IP!="192.168")
    {
      //该用户不是局域网内用户
    }
    else
    {
     //局域网用户
     //再根据IP地址和要比较的IP地址进行比较,得到IP地址所在的城市
    }