GeoLite2 提供了两种方式根据 IP 获取地理位置:

本地数据库

Web Service

:point_down:以本地 数据库 方式演示,请注意数据库 License: CC BY-SA 4.0

依赖

编辑 pom.xml 文件,添加依赖:

com.maxmind.geoip2

geoip2

2.12.0

下载数据库

本地数据库 下载地址

,解压缩到工程的 Resources 目录。

代码

try (InputStream in = getClass().getClassLoader().getResourceAsStream("GeoLite2-City/GeoLite2-City.mmdb")) {

DatabaseReader reader = new DatabaseReader

.Builder(in)

.withCache(new CHMCache())

.build(); // ①

InetAddress ip = InetAddress.getByName("8.8.8.8");

CityResponse city = this.geoIPReader.city(ip); // ②

city.getCity().getNames().get("zh-CN"); // ③

city.getCity().getNames().get("en");

}

① 读取本地数据库;

② 根据 IP 地址获取城市信息;

③ 获取简体中文(zh-CN)和英文城市名称。

java地理位置的获取_Java 根据 IP 获取地理位置相关推荐

  1. java获取用户ip_Java获取用户访问IP及地理位置的方法详解

    本文实例讲述了Java获取用户访问IP及地理位置的方法.分享给大家供大家参考,具体如下: 获取用户访问的IP地址 /** * 获取用户ip地址 * @return */ public static S ...

  2. php如何获取访问者地理位置,PHP获取访客IP和地理位置等信息的类

    这是一个能够获取到用户访问信息的PHP类,包括:ip地址.地理信息.操作系统.语言.浏览器和isp等等.获取地理位置和ISP信息是请求的Baidu隐藏接口. 代码如下: 1.[代码][PHP]代码 / ...

  3. java ip 国家_java通过ip获取用户所在国家 | 学步园

    什么是GeoIP ? 所谓GeoIP,就是通过来访者的IP, 定位他的经纬度,国家/地区,省市,甚至街道等位置信息的一个数据库.GeoIP有两个版本,一个免费版,一个收费版本.收费版本的准确率和数据更 ...

  4. java 获得当月天数_java中 如何获取当月的天数、指定日期的月份天数详解

    代码实现如下:import java.util.Calendar; public class GetDay { public static void main(String[] args) { int ...

  5. java string出现次数_Java String方法获取字符出现次数及字符最大相同部分示例

    本文实例讲述了Java String方法获取字符出现次数及字符最大相同部分.分享给大家供大家参考,具体如下: package demo; public class Test { public stat ...

  6. java 反射 参数名_JAVA 8 反射获取参数名

    前言 在JDK8之前javac编译是不会把构造器和方法的参数名编译进class中,如果需要获取参数名,可以在方法上加上注解,反射获取注解的值从而获取参数名,比如Jackson的@JsonCreator ...

  7. python根据ip获取地理位置_使用python根据ip获取目标地理位置信息

    1 #! /usr/bin/env python 2 #-*- coding:utf-8 -*- 3 4 ''' 5 Created on 2019年12月8日6 7 @author: Admin8 ...

  8. java读取文件 路径_Java中的获取文件的物理绝对路径,和读取文件

    获取文件的绝对路径,读取该文件 一.文件目录打印图 下面的文件目录图,是项目中文件的位置信息:下面的例子是按照这个图来演示的. . |-- java | |-- ibard | | |-- demo1 ...

  9. java excel 列数_JAVA使用POI获取Excel的列数与行数

    前言 报表输出是Java应用开发中经常涉及的内容,而一般的报表往往缺乏通用性,不方便用户进行个性化编辑.Java程序由于其跨平台特性,不能直接操纵Excel.因此,本文探讨一下POI视线Java程序进 ...

  10. Java取邮箱名_java根据邮箱获取Gravatar头像

    在网上找了很多根据邮箱获取Gravatar头像的教程都是php的... 好吧我也记录下来.... 首先嘛,是需要到https://en.gravatar.com/ 注册或者登录吧.. 然后可以根据ph ...

最新文章

  1. 【组队学习】【33期】数据可视化(Matplotlib)
  2. Windows 2000、XP、XP+进程名描述
  3. 根据痛点分析制作软件
  4. oss https 代理
  5. signature=bb45d44ceab9b6563988c6c1a9b5e667,Bookbinding signature comb and spine device
  6. 安装python后如何打开-Python的安装与使用
  7. 解析html语言的软件,小程序解析html标签 div-Go语言中文社区
  8. php 直接定义 和 construct,PHP _construct()函数讲解
  9. 莫烦Tensorflow教程(15~22)
  10. MySQL week()函数
  11. 单线程与多线程的区别
  12. spring boot maven profiles,打包不同的配置文件
  13. Moddable SDK为物联网开发提供JavaScript引擎:不到32KB
  14. C#获得Access数据库中的表名,以及根据表名获取字段名
  15. JDBC工具类,基于C3P0的数据库连接池,提供获取连接池、获取连接对象、释放资源和封装事务操作的方法...
  16. Linux安装的分区问题
  17. 联合主键用hibernate注解映射方式主要有三种:
  18. 框架分析--框架的类关系图
  19. DotFun Silverlight 整站系统Beta版上线!
  20. Aspose.Word 操作word表格的行 插入行 添加行

热门文章

  1. 地月距离竟然如此遥远
  2. 电压力锅中的计算机控制系统,电压力锅的(电脑板)工作原理
  3. 中国网络游戏行业发展模式创新与投资前景调研报告2021-2027年
  4. 傅里叶级数与傅里叶变换_Part4_傅里叶级数的复数形式
  5. Android基于环信实现聊天功能(一)——了解环信
  6. 结构思考力~设计序言
  7. x.264编译问题合集
  8. 北京理工大学计算机学硕考研科目,2021北京理工大学计算机考研科目
  9. 电脑ping,电脑ping如何打开 电脑ping打开教程
  10. 猿创征文|Python学习工具千千万,我心中的TOP10