根据ip获取ip所在国家省市
根据ip获取ip所在国家省市
木筏笔歆 发表于2个月前
根据ip获取ip所在国家省市
  • 发表于 2个月前
  • 阅读 2
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云实验室 1小时搭建人工智能应用,让技术更容易入门 免费体验 >>>   

【思路】
1.判断ip是否为空,且ip的格式是否正确
2.判断无效ip、特殊ip
3.将ip转int后再查询表判断ip的范围
4.将结果转为ip对象

/// IP地址转换成Int数据 
private static long IpToInt(string ip)
{
       char[] dot = new char[] { '.' };
       string[] ipArr = ip.Split(dot);
       if (ipArr.Length == 3)
             ip = ip + ".0";
       ipArr = ip.Split(dot);

       long result = 0;
       long p1 = long.Parse(ipArr[0]) * 256 * 256 * 256;
       long p2 = long.Parse(ipArr[1]) * 256 * 256;
       long p3 = long.Parse(ipArr[2]) * 256;
       long p4 = long.Parse(ipArr[3]);
       result = p1 + p2 + p3 + p4;
       return result;
}

目前为止,这种问题都是将ip转int,且数据库中的ip范围也是使用这种方式进行转换,但是觉得这种方式怪怪的,会有误差。目前我还没找到更好的方法。

共有 人打赏支持
粉丝 2
博文 1
码字总数 4618
评论 (0)
×
木筏笔歆
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: