3

我正在使用 GeoLite2 通过 IP 地址获取我的 java 应用程序的位置。

我想从 GeoLite2-City.mmdb 文件中逐个城市获取国家/地区。

这是我的读者:

DatabaseReader reader = new DatabaseReader.Builder(dbFileStream).withCache(new CHMCache()).build();

我通过 IP 地址获取 CityResponse,如下所示:

 CityResponse cityResponse = reader.city(InetAddress.getByName("an IP address"));

但我想像这样按城市获取国家/地区名称:

String countryName = reader.getCountryByCity("Paris”);

有没有办法做到这一点?

4

1 回答 1

1

这是不可能的。该数据库旨在通过 IP 地址进行查找。如果您需要以其他方式访问数据,我建议使用 MaxMind 提供的 CSV 文件。

此外,您可以尝试项目geonames.org及其java-api 库

于 2018-12-21T14:58:48.317 回答