淘宝ip地址查询类分享(利用淘宝ip库)


Posted in PHP onJanuary 07, 2014

淘宝公司提供了一个很好用的IP地理信息查询接口。在这里:http://ip.taobao.com/

以下这个taobaoIPQuery类将极大的简化相关的信息查询。

<?phpclass taobaoIPQuery {
    private $m_ip;
    private $m_content;
    public function __construct($ip) {
        if (isset($ip)) {
            $this->m_ip = $ip;
        } else {
            $this->m_ip = "";
        }
        if (!empty($this->m_ip)) {
            $url_handle = curl_init();
            curl_setopt($url_handle, CURLOPT_URL, "http://ip.taobao.com/service/getIpInfo.php?ip=" . $this->m_ip);
            curl_setopt($url_handle, CURLOPT_RETURNTRANSFER, true);
            $this->m_content = curl_exec($url_handle);
            curl_close($url_handle);
            if ($this->m_content) {
                $this->m_content = json_decode($this->m_content);
                if ($this->m_content->{'code'} == 1) {
                    exit("query error!");
                }
            } else {
                exit("curl error!");
            }
        } else {
            exit("ip address must be not empty!");
        }
    }
    public function get_region() {
        return $this->m_content->{'data'}->{'region'};
    }
    public function get_isp() {
        return $this->m_content->{'data'}->{'isp'};
    }
    public function get_country() {
        return $this->m_content->{'data'}->{'country'};
    }
    public function get_city() {
        return $this->m_content->{'data'}->{'city'};
    }
}

调用很简单

$ip = $_SERVER["REMOTE_ADDR"];
$ipquery = new taobaoIPQuery($ip);
$region = $ipquery->get_region();
$country = $ipquery->get_country();
$city = $ipquery->get_city();
PHP 相关文章推荐
php邮件发送,php发送邮件的类
Mar 24 PHP
五款常用mysql slow log分析工具的比较分析
May 22 PHP
PHP基础学习之流程控制的实现分析
Apr 28 PHP
PHP实现链式操作的核心思想
Jun 23 PHP
PHP扩展框架之Yaf框架的安装与使用
May 18 PHP
Laravel日志用法详解
Oct 09 PHP
Redis使用Eval多个键值自增的操作实例
Nov 04 PHP
如何用PHP做到页面注册审核
Mar 02 PHP
PHP面向对象多态性实现方法简单示例
Sep 27 PHP
浅谈PHP实现大流量下抢购方案
Dec 15 PHP
PDO::beginTransaction讲解
Jan 27 PHP
PHP底层运行机制与工作原理详解
Jul 31 PHP
PHP中如何实现常用邮箱的基本判断
Jan 07 #PHP
PHP实现变色验证码实例
Jan 06 #PHP
有关于PHP中常见数据类型的汇总分享
Jan 06 #PHP
用php简单实现加减乘除计算器
Jan 06 #PHP
PHP面向对象之旅:深入理解static变量与方法
Jan 06 #PHP
浅析ThinkPHP中的pathinfo模式和URL重写
Jan 06 #PHP
php Calender(日历)代码分享
Jan 03 #PHP
You might like
php+mysql实现用户注册登陆的方法
2015/01/03 PHP
给网站上的广告“加速”显示的方法
2007/04/08 Javascript
javascript 写类方式之五
2009/07/05 Javascript
JavaScript isArray()函数判断对象类型的种种方法
2010/10/11 Javascript
基于jquery的返回顶部效果(兼容IE6)
2011/01/17 Javascript
基于mootools插件实现遮罩层新手引导
2012/05/24 Javascript
浅谈javascript中自定义模版
2015/01/29 Javascript
使用JavaScript和CSS实现文本隔行换色的方法
2015/11/04 Javascript
node.js 中国天气预报 简单实现
2016/06/06 Javascript
JSON与String互转的实现方法(Javascript)
2016/09/27 Javascript
javascript实现多张图片左右无缝滚动效果
2017/03/22 Javascript
angularJs中datatable实现代码
2017/06/03 Javascript
Vue实现一个无限加载列表功能
2018/11/13 Javascript
微信小程序局部刷新触发整页刷新效果的实现代码
2018/11/21 Javascript
vue中如何实现后台管理系统的权限控制的方法步骤
2019/09/05 Javascript
关于小程序优化的一些建议(小结)
2020/12/10 Javascript
[01:41]DOTA2超级联赛专访YYF 称一辈子难忘TI2
2013/05/28 DOTA
[33:23]Secret vs Serenity 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
python创建和使用字典实例详解
2013/11/01 Python
Python中的自省(反射)详解
2015/06/02 Python
Python实现代码统计工具(终极篇)
2016/07/04 Python
解决tensorflow模型参数保存和加载的问题
2018/07/26 Python
python代码如何注释
2020/06/01 Python
解决pytorch 模型复制的一些问题
2021/03/03 Python
Myprotein丹麦官网:欧洲第一运动营养品牌
2019/04/15 全球购物
Linux管理员面试经常问道的相关命令
2014/12/12 面试题
专营店会计助理岗位职责
2013/11/29 职场文书
人事科岗位职责范本
2014/03/02 职场文书
吨的认识教学反思
2014/04/27 职场文书
奥林匹克运动会口号
2014/06/19 职场文书
无房证明范本
2014/09/17 职场文书
受伤赔偿协议书
2014/09/24 职场文书
社区安置帮教工作总结2015
2015/05/20 职场文书
《蚂蚁和蝈蝈》教学反思
2016/02/22 职场文书
3050和2060哪个好 性能差多少 差距有多大 谁更有性价比
2022/06/17 数码科技
IDEA中sout快捷键无效问题的解决方法
2022/07/23 Java/Android