GeoIP 是一个 C 库,其中 Geo 是 geography (地理的缩写),实际上是一个 IP 查询函数库。它使用一个基于数据库的文件,该数据库是个简单的散列表,IP 块作为键,而国家代码作为值。
商业数据库和自动升级服务可访问 http://www.maxmind.com 获得信息。
下面是一段使用 GeoIP 开发库的简单测试程序:
[C++] 纯文本查看 复制代码 #include <stdio.h>
#include <GeoIP.h>
int main()
{
GeoIP *gi;
gi = GeoIP_new(GEOIP_STANDARD);
printf("yahoo.com belong to --%s--\n", GeoIP_country_code_by_name(gi, "yahoo.com"));
printf("sina.com.cn belong to --%s--\n", GeoIP_country_code_by_name(gi, "sina.com"));
printf("groad.net belong to --%s--\n", GeoIP_country_code_by_name(gi, "groad.net"));
printf("mofa.go.jp belong to --%s--\n", GeoIP_country_code_by_name(gi, "web-japan.org"));
return 0;
}
运行输出:$ ./simple
yahoo.com belong to --US--
sina.com.cn belong to --US--
groad.net belong to --CN--
mofa.go.jp belong to --JP-- |