【问题标题】:how to get country name and/or code by IP address?如何通过 IP 地址获取国家名称和/或代码?
【发布时间】:2010-06-30 04:48:39
【问题描述】:

抱歉,这个问题太幼稚了,但是我怎么能用 C++ 来做呢?我需要使用给定的 IP 地址获取国家名称及其 2 个字母或 3 个字母的 ISO 代码(或任何名称)。有什么方法可以轻松做到这一点?

我发现的唯一两种方法是使用 GeoIP C 库或下载免费数据库,但有没有更动态的方法?我的意思是,是否有一个带有最新数据库的免费网络服务,我可以使用 curl 或其他东西来实现我的目的?

提前致谢。

【问题讨论】:

标签: c++ country


【解决方案1】:

MaxMind.com 公开一组web services 用于地理定位。它们不是免费的,但每次查找都很便宜。

我的一个客户使用他们的城市级查找服务,每个结果都会缓存一段合理的时间(从内存中,2 或 3 周),因为 IP 地址块不会经常更改位置。

当订阅中剩余的数量变少时,应用程序还会计算实际查找的数量以发送管理员通知,因此可以手动补足。

我还在几个应用程序中使用可下载的数据库,并通过预定的更新过程使其保持最新状态。

【讨论】:

  • 我也使用 MaxMind。有一些将他们的 GeoIP 与各种语言集成的例子。 maxmind.com/app/api
【解决方案2】:

http://www.hostip.info 提供 API。

【讨论】:

  • 看起来他们的网站还在运行,但 API 不再有效。他们论坛上的最后一次活动是近四年前,所以看起来他们不再提供这项服务。
猜你喜欢
  • 2016-02-04
  • 2017-01-05
  • 2011-08-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-12-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多