2010-02-11 134 views
4

我需要一个客户端API的Java或红宝石。我想 更喜欢 需要这只是本地。事实上,这可能不是一个IP,但更多的是数据库导入。问题是我无法使用基于Web服务的Web服务,因为这对我来说太重了I/O。需要一个客户端API为determing IP的地理位置地址

注:根据地理位置,我真正需要的是国家/地区的最好的。我也会接受实际经纬度。

回答

4

我看着这些家伙在几个月前:http://www.maxmind.com/app/geolitecountry

似乎OK,我的有限的目的。

+0

他们提供一个免费的轻量级CSV文件,这对我来说是完美的。 30mb,我所需要的,似乎是最新的。谢谢。他们还为大多数所有通用语言提供API。 – Zombies 2010-02-11 18:46:14

2

一个快速谷歌搜索产生了这样的结果:http://www.hostip.info/dl/index.html

我认为这是你在找什么。

+0

很好找。它可能真的过时了,通过查看从2003年的时间戳看到的sql文件。还奇怪的是,1行必须被注释掉才能编译。它是一个300MB的sql文件,并且需要一段时间来执行(到目前为止已经运行了一个小时)。 – Zombies 2010-02-11 18:35:20

+0

所以,我工作?我下载了它,但只是看了一下,没有安装。即使它是从2003年开始,大多数IP地址都是正确的:) – 2010-02-13 12:28:54

2

对于一个基于Web的一个,你可以使用:http://code.google.com/apis/ajaxsearch/。你要做的就是有:

<script type="text/javascript" src="http://www.google.com/jsapi?key=yourapikey"></script> 

,现在谷歌填充一些JavaScript变量,并在其他JS脚本,现在你可以使用访问地理位置:google.loader.ClientLocation.address.city,google.loader.ClientLocation。 address.region,google.loader.ClientLocation.address.country。

对于一个非常粗糙和本地解决方案,你可以在这里得到国家的IP范围:http://www.countryipblocks.net/continents/。您可以基本上将其存储在本地,并参考它来获取粗略的地理位置。

+0

我喜欢这个...如果你通过加载器使用_any_的google API,这个变量就会被填充。似乎也相当准确。很好的发现。 – davewasthere 2011-07-25 15:14:43