淘宝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 相关文章推荐
PHP4之COOKIE支持详解
Oct 09 PHP
MySQL相关说明
Jan 15 PHP
PHP函数spl_autoload_register()用法和__autoload()介绍
Feb 04 PHP
php 解决旧系统 查出所有数据分页的类
Aug 27 PHP
PHP检测用户是否关闭浏览器的方法
Feb 14 PHP
微信利用PHP创建自定义菜单的方法
Aug 01 PHP
Yii2框架实现数据库常用操作总结
Feb 08 PHP
浅谈PHP发送HTTP请求的几种方式
Jul 25 PHP
PHP 中TP5 Request 请求对象的实例详解
Jul 31 PHP
Laravel5框架添加自定义辅助函数的方法
Aug 01 PHP
php intval函数用法总结
Apr 14 PHP
浅谈Laravel模板实体转义带来的坑
Oct 22 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中debug_backtrace、debug_print_backtrace和匿名函数用法实例
2014/12/01 PHP
php从字符串创建函数的方法
2015/03/16 PHP
JavaScript使用prototype定义对象类型
2007/02/07 Javascript
JavaScript自定义方法实现trim()、Ltrim()、Rtrim()的功能
2013/11/03 Javascript
可选择和输入的下拉列表框示例
2013/11/05 Javascript
JS和Jquery获取和修改label的值的示例代码
2014/01/15 Javascript
jquery鼠标放上去显示悬浮层即弹出定位的div层
2014/04/25 Javascript
JavaScript数值转换的三种方式总结
2014/07/31 Javascript
JavaScript控制table某列不显示的方法
2015/03/16 Javascript
jQuery消息提示框插件Tipso
2015/05/04 Javascript
jQuery对JSON数据进行排序输出的方法
2015/06/24 Javascript
浅谈JavaScript的Polymer框架中的behaviors对象
2015/07/29 Javascript
JS实现的驼峰式和连字符式转换功能分析
2016/12/21 Javascript
extjs简介_动力节点Java学院整理
2017/07/17 Javascript
vue 解决循环引用组件报错的问题
2018/09/06 Javascript
[49:31]DOTA2-DPC中国联赛 正赛 Elephant vs LBZS BO3 第二场 1月29日
2021/03/11 DOTA
浅谈Python中的闭包
2015/07/08 Python
python简单实现获取当前时间
2016/08/27 Python
python 循环遍历字典元素的简单方法
2016/09/11 Python
Python正则表达式经典入门教程
2017/05/22 Python
15行Python代码带你轻松理解令牌桶算法
2018/03/21 Python
Python将字符串常量转化为变量方法总结
2019/03/17 Python
python解析xml简单示例
2019/06/21 Python
解决python ThreadPoolExecutor 线程池中的异常捕获问题
2020/04/08 Python
用python-webdriver实现自动填表的示例代码
2021/01/13 Python
PHP经典面试题
2016/09/03 面试题
学生实习自我鉴定
2013/10/11 职场文书
后勤部长岗位职责
2013/12/14 职场文书
清洁工表扬信
2014/01/08 职场文书
委托书范文
2014/04/02 职场文书
酒店七夕情人节活动策划方案
2014/08/24 职场文书
领导批评与自我批评范文
2014/10/16 职场文书
学习雷锋精神活动总结
2015/02/06 职场文书
物业接待员岗位职责
2015/04/15 职场文书
《清澈的湖水》教学反思
2016/02/17 职场文书
Java 在线考试云平台的实现
2021/11/23 Java/Android