使用MaxMind 根据IP地址对访问者定位


有时你需要知道你的站点访问者来自哪个国家——比如如果你正打算执行针对地理区域的广告计划。本文将对此方法进行介绍。

有时你需要知道你的站点访问者来自哪个国家——比如如果你正打算执行针对地理区域的广告计划。这正是象MaxMind's GeoIP一类的工具大显身手的地方——它可以让你从访问者的IP地址轻松获取其确切的地理位置信息。

MaxMind提供了商业数据库和免费数据库。前者更为精确,精度可以达使用者所在城市信息一级,而后者则只能确定国家和地区。在本文中,我们将演示免费版的使用方法。如果你需要更多详细信息,比如远程客户的城市以及国家信息,你需要从MaxMind:http://www.maxmind.com购买更详细的数据库。

起步

要使用此软件,你必须首先下载GeoIP免费国家信息文件:http://www.maxmind.com/app/geoip_country 并将其存放于Web服务器的某个目录中。然后你需要选择数据库文件所使用的语言API。为简化整个过程,我们将使用纯粹的PHP版本以避免其他额外的配置或设置Apache组件。请记住在安装软件到Web站点前阅读软件许可证条款:http://www.maxmind.com/download/geoip/database/LICENSE.txt以确保你同意这些条款。

代码列表A

<?php

// include functions

include("geoip.inc");

// read GeoIP database

$handle = geoip_open("GeoIP.dat", GEOIP_STANDARD);

// map IP to country

echo "IP address 62.149.130.132 located in " . geoip_country_name_by_addr($handle, "62.149.130.132") . " (country code " . geoip_country_code_by_addr($handle, "62.149.130.132") . ")";

// close database handler
// www.knowsky.com

geoip_close($handle);

// print compulsory license notice

echo "<p> -- This product includes GeoIP data created by MaxMind, available from http://maxmind.com/ --";

?>

列表A中的代码显示了使用模块(geoip.inc)以访问GeoIP免费国家信息数据库(GeoIP.dat)的基本方法。示例假设PHP include和国家家信息数据库文件都在与PHP文件本身相同的目录中。如果示例与你的安装不同,则需要根据需要改变路径。

示例代码相当明了,在引入GeoIP PHP函数库后,第一步即使用geoip_open()函数打开GeoIP数据库文件。此函数接收两个参数:数据库文件路径和数据库类型。

我们然后使用由调用geoip_open()返回的句柄,由此根据所给的IP地址以获取两字母的国家代码及直观的国家名称。其中还要分别借助函数geoip_country_code_by_addr()和geoip_country_code_by_name()。二者都接收两个参数:由geoip_open()返回的句柄以及需要解析的IP地址。

一旦获得所需信息,我们通过调用geoip_close()关闭数据库文件。

所做的就是这么简单。



相关阅读:
在unix上让apache支持asp
成功做好网络管理员IIS使用十大原则
CSS3特性:CSS3 target伪类
c# Random快速连续产生相同随机数的解决方案
oracle多条件查询分页存储过程
php utf-8转unicode的函数
模板引擎正则表达式调试小技巧
Can’t open file:'[Table]mytable.MYI'
Oracle 10g手工创建数据库个人经验
ASP.NET下上传图片到数据库,并且读出图片的代码(详细版)
js仿淘宝的拼音检索特效代码
通过JS正则表达式实现验证邮件的代码
Mozilla建议的CSS书写顺序
Oracle用户表空间两步就可以了解
快速导航
PHP MySQL HTML CSS JavaScript MSSQL AJAX .NET JSP Linux Mac ASP 服务器 SQL jQuery C# C++ java Android IOS oracle MongoDB SQLite wamp 交通频道 作文范文 2015年部门年度工作总结 70读《海蒂》有感 光阴随笔(2016.6.24) 批办的作用 那个老师作文500字 《他乡的人》组诗 人老莫为“三惑”累 指导学生读书心得 哭在梦里 如有来生,依然选择爱你 给心灵成长注入正能量 春天的风景作文 (银行)工作计划 我在倾听中获得快乐】 50句你看了会有感触吗? 校园幽默小品剧本《东厢记》 那一段日子作文1200字 樱花的泪作文 贪玩的我550字 狐狸和猴子的故事 花香人生 无烟国 优秀语文教师个人述职报告范文 青年文明号10年成果展暨颁奖典礼主持词 马云清华大学演讲 抒情散文:修行之路茶相伴,云水之间人更欢 我的新旧书包 我只是讨厌屈服——柴静 项目经理竞聘报告 一句格言的启示作文700字 《十年后的礼物》读后感1 25岁 ,写给女孩子们的五句话 鸿雁小雨 假如我是巫师作文350字 天龙剑传奇作文1600字 高中高三作文2250字:“斩断缚心的绳索”话题作文比较评析 最新市场营销实习报告范文格式精选 忧伤的精灵 工程项目经理岗位说明书 初中初一作文650字:“烦”妈妈 小学五年级作文650字:人们,停止破坏环境吧! 可以安放爱情的那个城 夏日艳歌作文900字 快乐一家人作文 难忘的眼睛550字 保密工作目标完成的自查报告 陌上春情,缓缓归 小公园作文400字 给我一个你不爱我的理由作文400字 23天的恋情

Copyright © 2016 phpStudy |