使用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 交通频道 作文范文 旅游接待工作总结 小学生励志故事《名次与奖赏》 关爱空巢老人勿令独居 赎罪 一剪秋,忧伤几许 我和江老师450字 献给中国共产党建党90周年 清廉颂 浅论产业集群与升级 司空曙《江村即事》 她美貌过人,但却用智慧征服世界 诗人孔鹏程诗歌专刊 《看电视》读后感250字 读李将军事有感 我想从头再来 只是,想 英语作文介绍家乡 高中高三作文1500字:“简单与精彩”话题作文导写 2015豆瓣最受关注图书榜 与人相处的30条哲理名言 电气维修人员2012个人工作总结 倒带,再回首 ku 室内电气安装合同书 莫迪亚星球奇遇 兰爷爷的菜园 自古,幸福就像诗一样 凡卡续集600字 学校家长会主持词 我好开心 一个真诚的人作文500字 市艾滋病健康教育工作方案 国有商业银行股份制改造:国际经验和启示 俺老孙心情日记三作文350字 关于心情不好的说说大全 谁在你心底留下了一滴泪,谁为你穿起了金甲圣衣 my busy day初三英语作文带翻译 沙澧风景赞 教育系统树师表形象做教育先锋党课材料 《匈牙利市场社会主义之路》导言(下) 如何经典 经典语句:青春赋予你锋芒,请别让他失望 函调证明信 挫折与失败并不可畏,重要的是心态的调整 震撼心灵作文1100字 2015团队管理总结 印尼塔岛岩土工程勘察总体管理模式初探 励志修学名著读后感 你为什么总是情绪疲惫? 初中初三作文800字:可爱的小兔 清音淡语,致远方的朋友

Copyright © 2016 phpStudy |