2010-06-30 156 views
1

对不起,我不知道这个问题,但我怎么用C++来做到这一点?我需要使用给定的IP地址来获取国家/地区名称及其2字母或3字母ISO代码(或任何它所称的代码)。有什么方法可以轻松地做到这一点?如何通过IP地址获取国家/地区名称和/或代码?

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

在此先感谢。

+2

强制性XKCD链接:http://xkcd.com/195/ – cobbal 2010-06-30 04:50:38

+1

你没有想到会有只有一个,你呢? http://xkcd.com/713/ – MSalters 2010-06-30 14:34:50

回答

2

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

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

该应用程序还计算实际查找的数量时,剩余的订阅数量变低发管理通知,所以也可以手动加满。

我还使用下载的数据库在一些应用中,具有定期更新过程以保持最新状态。

+0

我也使用MaxMind。有一些将GeoIP与各种语言集成的例子。 http://www.maxmind.com/app/api – Craig 2010-06-30 05:28:21

0

http://www.hostip.info提供了一个API。

+0

看起来他们的网站仍然存在,但API不再有效。他们论坛上的最后一项活动是在四年前,因此看起来他们不再提供这项服务。 – Elkvis 2017-01-04 13:37:32

相关问题