最近很火的IP地址显示,原来是这样….

前言🚩

最近,更新springboot系列有点多,毕竟本人还是主攻java,也希望能对看到我博客的人,给予一些帮助。

当然 虽说 世间千万法,但是万法不离宗,只有你自己本身的基础扎实了,才有可能攀爬到更高的山峰。如同盖房子一般,地基没打牢,就想建屋顶,那是万万不能的。用我们这的一句话说就是:“一瓶子不满,半瓶子晃荡”。🤪

后期更新springboot系列时,我也会时不时的穿插一些其他技术,或者平时遇到好玩的软件,会分享给大家。

正文☠

近日,网络上最火的东西,莫过于各大平台上线了IP地址显示功能。有头条,百度,微博,小红书,知乎,微信公众号和抖音等众多网红软件。

图片
图片

这个功能上线的目的,还是为了预防互联网诈骗,比如跟你聊天或者与你交易的人,IP地址显示不正常的,你肯定要警惕,或者是一些互联网造谣群体,网络攻击行为,冒充当事人等等,归根结底还是为了营造一个绿色的网络环境,让互联网变得更加安全与和谐。今天我们介绍的是如何使用 java 来获取 ip 地址归属地。

Ip2region

Ip2region是什么?

ip2region – 准确率99.9%的离线IP地址定位库,0.0x毫秒级查询,ip2region.db数据库只有数MB,提供了java,php,c,python,nodejs,golang,c#等查询绑定和Binary,B树,内存三种查询算法。

mica-ip2region

mica-ip2regionip2region 的封装,方便 spring boot 用户使用。

1. 添加依赖

 <dependency>
      <groupId>net.dreamlu</groupId>
      <artifactId>mica-ip2region</artifactId>
      <version>${version}</version>
 </dependency>

2. 使用说明

2.1 注入Bean
 @Autowired
 private Ip2regionSearcher regionSearcher;
2.2 方法说明
 /**
  * ip 位置 搜索
  *
  * @param ip ip
  * @return 位置
  */
 @Nullable
 IpInfo memorySearch(long ip);
 
 /**
  * ip 位置 搜索
  *
  * @param ip ip
  * @return 位置
  */
 @Nullable
 IpInfo memorySearch(String ip);
 
 /**
  * ip 位置 搜索
  *
  * @param ptr ptr
  * @return 位置
  */
 @Nullable
 IpInfo getByIndexPtr(long ptr);
 
 /**
  * ip 位置 搜索
  *
  * @param ip ip
  * @return 位置
  */
 @Nullable
 IpInfo btreeSearch(long ip);
 
 /**
  * ip 位置 搜索
  *
  * @param ip ip
  * @return 位置
  */
 @Nullable
 IpInfo btreeSearch(String ip);
 
 /**
  * ip 位置 搜索
  *
  * @param ip ip
  * @return 位置
  */
 @Nullable
 IpInfo binarySearch(long ip);
 
 /**
  * ip 位置 搜索
  *
  * @param ip ip
  * @return 位置
  */
 @Nullable
 IpInfo binarySearch(String ip);
2.3 IpInfo 上的属性和方法:
 /**
  * 城市id
  */
 private Integer cityId;
 /**
  * 国家
  */
 private String country;
 /**
  * 区域
  */
 private String region;
 /**
  * 省
  */
 private String province;
 /**
  * 城市
  */
 private String city;
 /**
  * 运营商
  */
 private String isp;
 /**
  * region ptr in the db file
  */
 private int dataPtr;
 /**
  * 拼接完整的地址
  *
  * @return address
  */
 public String getAddress();
 /**
  * 拼接完整的地址,附带运营商
  *
  * @return address
  */
 public String getAddressAndIsp();
2.4 效果展示
图片

相关链接🔗

  • ip2region:https://gitee.com/lionsoul/ip2region
  • mica:https://gitee.com/596392912/mica
  • mica-mqtt:https://gitee.com/596392912/mica-mqtt
阅读原文

简介:十二的名字叫难忘。欢迎关注微信公众号:十二的小破站
(0)
打赏 喜欢就点个赞支持下吧 喜欢就点个赞支持下吧

声明:本文来自“十二的小破站”,分享链接:https://www.zyxiao.com/p/300454    侵权投诉

网站客服
网站客服
内容投稿 侵权处理
分享本页
返回顶部