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

十二 2022年05月05日 1392 1

前言🚩

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

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

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

正文☠

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

205734414

205734412

这个功能上线的目的,还是为了预防互联网诈骗,比如跟你聊天或者与你交易的人,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 效果展示

image-20220505213024550

相关链接🔗

Last Updated: 2022/05/05 23:29:09
springboot文件上传与下载 springBoot的国际化使用