前言🚩
最近,更新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-ip2region
是ip2region
的封装,方便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
24