c-GeoLiteCityv6.dat中是否包含城市和地区数据



我们使用GeoLiteCityv6来检测产品中的ipv6地址。然而,我们发现,州/地区/城市的数据无法从数据库中获得,而国家数据是可用的。

例如,当解析IP地址2a02:2b88:2:1::419a:1时,我们得到Country=Czech Republic,但Region为空,city也为空。我们检查了几个IP地址,没有得到任何地区/城市信息。

我们使用C API进行开发,我们使用的API如下所示:

GeoIPRecord *gir = GeoIP_record_by_addr_v6(gi, ip);
char *state = (char *)GeoIP_region_name_by_code(gir->country_code, gir->region);
printf("DB: state is %s.n", state);         //return NULL
printf("DB: continent_code is %s.n", gir->continent_code);  //right
printf("DB: country name is %s.n", gir->country_name);  //right
printf("DB: country code is %s.n", gir->country_code);  //right
printf("DB: region is %s.n", gir->region);  //return NULL
printf("DB: city is %s.n", gir->city);     //return NULL

所以我的问题是,GeoLiteCityv6.dat是否没有地区/城市的相关数据,或者我们滥用了错误的API?

非常感谢!

不,尽管它有名字,但它没有城市级别的信息。只需下载csv格式的相同文件并打开即可。没有城市级别的信息。

相关内容

  • 没有找到相关文章

最新更新