Skip to content
/ Java-DB-IP Public
  • Notifications You must be signed in to change notification settings
  • Fork 14
  • Star 29

A Java wrapper for DB-IP free city database

License

29 stars 14 forks Branches Tags Activity
Star
Notifications You must be signed in to change notification settings

ankushs92/Java-DB-IP

Branches Tags

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

49 Commits

gradle/wrapper

gradle/wrapper

src

src

.gitignore

.gitignore

LICENSE.md

LICENSE.md

README.md

README.md

build.gradle

build.gradle

gradle.properties

gradle.properties

gradlew

gradlew

gradlew.bat

gradlew.bat

Repository files navigation

Java DB-IP

A simple to use Java library for the freely available DB-IP IP address to city dataset.

Requires Java 8

The entire dataset is loaded into a TreeMap . Make sure that you have about 2 GB of Heap space available to load it.

Links

With maven :

<dependency>
	  <groupId>in.ankushs</groupId>
	  <artifactId>Java-DB-IP</artifactId>
	  <version>2.0</version>
</dependency>

Or gradle:

compile('in.ankushs:Java-DB-IP:2.0')

Instructions

In order to get geographical information for an ip address, just pass the dbip-city-latest.csv.gz as a File object to DbIpClient as follows:

final File gzipFile = new File(PATH_TO_dbip-city-latest.csv.gz);
final DbIpClient client = new DbIpClient(gzipFile);

Once the data is loaded from the file into memory, any subsequent invocation of the above code would not load the data .

Next, just fetch the data for a ip ,like so :

final DbIpClient client = new DbIpClient(gzip);
final GeoEntity geoEntity = client.lookup("31.45.127.255");
final String city = geoEntity.getCity();
final String country = geoEntity.getCountry();
final String province = geoEntity.getProvince();
final String countryCode = geoEntity.getCountryCode();

System.out.println("city : " + city);
System.out.println("province : " + province);
System.out.println("country : " + country);
System.out.println("country code : " + countryCode);

This prints :

city : New Delhi
province : Delhi
country : India
country code : IN

For IPV6, do the same :

final DbIpClient client = new DbIpClient(gzip);
final String ipv6 = "2c0f:f468:ffff:ffff:ffff:ffff:ffff:ffff";
final GeoEntity geoEntity = client.lookup(ipv6);

That's pretty much it.

Performance

The lookup is stunningly fast. Since the entire data is cached the JVM, you can expect each lookup to take around 0.1 ms

Donate

Releases 2

Java-DB-IP v2.0 Latest
Feb 8, 2017
+ 1 release

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages

  • Java 68.8%
  • Groovy 31.2%

Footer

© 2024 GitHub, Inc.

哆哆女性网小米笔记本电脑孔姓起名字女孩荷兰豆炒腊肠南沙公司起名路桥公司起名大全给公司起个好名字徐起名字林姓名字男孩起名毒龙钻是什么2020属鸡宝宝起名开心电影网网上取名起名大全免费二胎起名余姓怎麽起名起名数理数1到81服装品牌名字怎么起我学雷锋好榜样武昌火车站售票时间打台球取名起名大全姓童男孩姓肖起人名玄学起名公司起名大全2021最新版的预备役缺火又缺水女孩起名根据八字为公司起名免费起名字大全男孩2020英雄联盟韩服语音包衡水起名光大银行股票代码淀粉肠小王子日销售额涨超10倍罗斯否认插足凯特王妃婚姻不负春光新的一天从800个哈欠开始有个姐真把千机伞做出来了国产伟哥去年销售近13亿充个话费竟沦为间接洗钱工具重庆警方辟谣“男子杀人焚尸”男子给前妻转账 现任妻子起诉要回春分繁花正当时呼北高速交通事故已致14人死亡杨洋拄拐现身医院月嫂回应掌掴婴儿是在赶虫子男孩疑遭霸凌 家长讨说法被踢出群因自嘲式简历走红的教授更新简介网友建议重庆地铁不准乘客携带菜筐清明节放假3天调休1天郑州一火锅店爆改成麻辣烫店19岁小伙救下5人后溺亡 多方发声两大学生合买彩票中奖一人不认账张家界的山上“长”满了韩国人?单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#青海通报栏杆断裂小学生跌落住进ICU代拍被何赛飞拿着魔杖追着打315晚会后胖东来又人满为患了当地回应沈阳致3死车祸车主疑毒驾武汉大学樱花即将进入盛花期张立群任西安交通大学校长为江西彩礼“减负”的“试婚人”网友洛杉矶偶遇贾玲倪萍分享减重40斤方法男孩8年未见母亲被告知被遗忘小米汽车超级工厂正式揭幕周杰伦一审败诉网易特朗普谈“凯特王妃P图照”考生莫言也上北大硕士复试名单了妈妈回应孩子在校撞护栏坠楼恒大被罚41.75亿到底怎么缴男子持台球杆殴打2名女店员被抓校方回应护栏损坏小学生课间坠楼外国人感慨凌晨的中国很安全火箭最近9战8胜1负王树国3次鞠躬告别西交大师生房客欠租失踪 房东直发愁萧美琴窜访捷克 外交部回应山西省委原副书记商黎光被逮捕阿根廷将发行1万与2万面值的纸币英国王室又一合照被质疑P图男子被猫抓伤后确诊“猫抓病”

哆哆女性网 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化