IP-地理信息查询接口-本地化
参考:
通过Ip查询对应地址,Ip2location全球IP地址网段-CSDN博客
因为在线接口有限制(毕竟别人提供服务,服务器,数据维护,域名啥的都要费用), 所以本地化服务的需求。
java使用 demo
对于 Java 开发者,可以使用 Maven 或 Gradle 添加 IP2Location 依赖项,并使用其 API 查询数据库。
XML
<!-- Maven 依赖 -->
<dependency>
<groupId>com.ip2location</groupId>
<artifactId>ip2location-java</artifactId>
<version>最新版本</version>
</dependency>
demo (测试这个性能,二进制文件,第一次慢点 5毫秒,也和你的数据库文件大小有关系)
java
import com.ip2location.IP2Location;
// 加载数据库
IP2Location db = new IP2Location("path/to/your/IP2LOCATION-LITE-DB1.BIN");
// 查询 IP 地址
String ip = "8.8.8.8";
try {
IP2Location.Record rec = db.getRecordByIP(ip);
System.out.println("Country: " + rec.countryLong);
System.out.println("Region: " + rec.region);
System.out.println("City: " + rec.city);
} catch (Exception e) {
e.printStackTrace();
}
// 关闭数据库
db.close();
数据库资源下载
官网下载地址
可下载IPv4 相关的二进制数据库
小结:
本地化服务,优点是调用无限制,缺点:数据库文件需要更新。