java ip地址定位,Java根据IP地址定位位置
本文主要演示怎么根据IP地址定位国家,城市,经度纬度。
1.GeoLite数据库
MaxMind提供一个GeoLite的数据库(包含IP地址和位置信息)。
先下载一个GeoLite的免费数据库--下载
使用GeoIP的Java AIP获取位置信息--查看
开始编码。
2.GeoLite例子
我们演示如何使用GeoIP的客户端,查询IP地址的位置信息。
package com.qiyadeng.core;
import java.io.File;
import java.net.InetAddress;
import com.maxmind.geoip2.DatabaseReader;
import com.maxmind.geoip2.model.CityResponse;
import com.maxmind.geoip2.record.City;
import com.maxmind.geoip2.record.Country;
import com.maxmind.geoip2.record.Location;
import com.maxmind.geoip2.record.Postal;
import com.maxmind.geoip2.record.Subdivision;
public class GeoIpExample {
public static void main(String[] args) throws Exception{
// A File object pointing to your GeoIP2 or GeoLite2 database
File database = new File("c://temp//GeoLite2-City.mmdb");
// This creates the DatabaseReader object, which should be reused across
// lookups.
DatabaseReader reader = new DatabaseReader.Builder(database).build();
InetAddress ipAddress = InetAddress.getByName("128.101.101.101");
// Replace "city" with the appropriate method for your database, e.g.,
// "country".
CityResponse response = reader.city(ipAddress);
Country country = response.getCountry();
System.out.println(country.getIsoCode()); // 'US'
System.out.println(country.getName()); // 'United States'
System.out.println(country.getNames().get("zh-CN")); // '美国'
Subdivision subdivision = response.getMostSpecificSubdivision();
System.out.println(subdivision.getName()); // 'Minnesota'
System.out.println(subdivision.getIsoCode()); // 'MN'
City city = response.getCity();
System.out.println(city.getName()); // 'Minneapolis'
Postal postal = response.getPostal();
System.out.println(postal.getCode()); // '55455'
Location location = response.getLocation();
System.out.println(location.getLatitude()); // 44.9733
System.out.println(location.getLongitude()); // -93.2323
}
}
输出结果如下:
US
United States
美国
Minnesota
MN
Minneapolis
55414
44.9759
-93.2166
java ip地址定位,Java根据IP地址定位位置相关推荐
- IP地址库解析——读取IP地址获得实际地理位置信息的java源码实现
说明:IP地址库来自QQwry.dat数据库文件,通过解析地址库当中的ip,已经细化最后获取的信息:获取ip地址对应的:国家 / 省 / 市 / 运营商ISP信息. 解析主要用到三个类: (1) IP ...
- java如何获得内网ip、外网ip、以及如何根据ip查询地址
今天突发奇想地想要用java写一个小的工具类. 用来实现如何获得本机的内网ip,外网ip和根据ip获得相应的地址. 花了几个小时才弄清,然后整理了一下,希望有用. 首先要明白以下三种ip地址的区别: ...
- java转换ip地址格式转换_Java编程IP地址和数字相互转换代码示例
最近才知道,将ip地址转换成十进制.八进制.十六进制同样可以访问网站. IP转为数字(第二种算法.用左移.按位或实现.效率更高.): public long ipToLong(String ipAdd ...
- ip的正则表达式 java,项目实战:Java正则表达式验证IP地址
IP 地址是网络上每台计算机的唯一标识,因此 IP 地址的错误输入将使程序无法运行.下面使用前面学习的正则表达式知识,编写一个 Java 程序来验证 IP 地址是否合法. 在定义正则表达式之前,首先要 ...
- java怎么通过ip地址查具体地址_制作通过IP 查询地址的java版程序
package test; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedSta ...
- Java 利用InetAddress类确定特殊Ip地址
IP地址分为普通地址和特殊地址.在前面的文章中所使用的大多数都是普通的IP地址,在本文中将介绍如何利用InetAddress类提供的十个方法来确定一个IP地址是否是一个特殊的IP地址. 一.isAny ...
- Java技巧: 根据网址查询DNS/IP地址
需求: 给定一个URL地址, 例如: http://www.cncounter.com/tools/shorturl.php, 解析对应的IP地址和端口号. 说明: 本文不涉及底层的 DNS 协议, ...
- Java获取请求客户端的真实IP地址
整理网友的材料,最后有源码,亲测能解决所有java获取IP真实地址的问题 整理的这里: 1.链接1 2.链接2 JSP里,获取客户端的IP地址的方法是: request.getRemoteAddr() ...
- java正则匹配ip_正则表达式 - 匹配 IP 地址
17220161221160719 IP地址是指互联网协议地址(英语:Internet Protocol Address,又译为网际协议地址),是IP Address的缩写.IP地址是IP协议提供的一 ...
- java判断内网ip_Java判断IP地址为内网IP还是公网IP的方法
本文实例讲述了Java判断IP地址为内网IP还是公网IP的方法.分享给大家供大家参考.具体分析如下: tcp/ip协议中,专门保留了三个IP地址区域作为私有地址,其地址范围如下: 10.0.0.0/8 ...
最新文章
- pycharm运行出现ImportError:No module named
- 生产环境可以用吗_小型熔喷布设备可以生产出好的熔喷布吗?
- ie7ajax 跨域 no transport 解决办法
- ubuntu20.04屏幕闪烁与分辨率的问题
- SQLite移植手记1
- 作者:周晓津(1971-),男,博士,广州市社会科学院研究员。
- Jmeter函数助手
- 系统不做限流,我看你是对中国人口数量有什么误解
- php伪随机数 ctf,[GWCTF 2019]枯燥的抽奖
- mac os android 线刷,Mac系统下使用Fastboot线刷安卓设备
- 为知笔记的markdown图片处理
- xkcd目录_使用随机XKCD漫画作为您的桌面墙纸
- 拒退10万保证金 哈啰杨磊被限制消费 公司回应正在申请解除
- 【YOLO】YOLO简介
- Linux在虚拟机里大小写键不停闪动是因为虚拟机内外的大小写不同导致,将虚拟机内外的大小写切换一致即可解决
- 媒体:中国大学不应培养“精致的利己主义者”
- 关于720全景视频在移动端播放的兼容问题汇总,截止2017年11月29日
- hackthebox-shock(考点:shellshock perl提权)
- 信息学奥赛之初赛 第1轮 讲解(01-08课)
- QT学习——Qt工具介绍,Qt助手使用,第一个Qt程序,Qt字符串和字符编码
热门文章
- ROS与Arduino:ros_arduino_bridge功能包的使用解读
- DevExpress去除多国语言包
- 关于vivo手机调试安装“解析程序包时出现问题”的解决方案
- 常用的oracle数据库备份方式
- pointnet源码阅读:数据预处理
- 32*32的booth算法的乘法器
- 魔兽怀旧服最新服务器人口,魔兽世界怀旧服人口普查2020年最新 最新11月怀旧服人口普查数据大全_蚕豆网新闻...
- 武汉工程大学计算机学院吴云韬,周华兵-武汉工程大学计算机科学与工程学院...
- ThinkPad E450 10.11 驱动HD4400的注意即解决方法
- deepin驱动精灵_Deepin 15.4.1 X64官方正式版(64位)